But addresses aren’t just for sending mail. Location also determines which municipal and state laws apply, so there are contexts where the distinction matters.
This is accurate. For a scenario with a possibility of litigation you must ultimately geocode the address with google maps API or census geocoder, point in polygon against district boundaries (geopandas or shapely), then pass the result through a rules table keyed on jurisdiction + case type.
It’s more that the municipal “geofence” encompasses a certain area, and all addresses that fall within that space belong to that municipality. I.e. the address doesn’t determine the location, it just happens to be located somewhere.
These things shouldn’t be based on the zip code.
I would just like to point out that the city field doesn’t necessarily prove anything because many unincorporated areas have a listed a city but may not be subject to the laws or taxes of a municipality. So having the correct city isn’t as useful as one thinks it is.