I think the difficulty with this (and you seem to have identified it) is that there isn’t any surefire way to relate geographically two zip codes (ones that are very close might have similar numbers, but this does not work in a systematic way).
Your best bet is probably to use third-party software. Storepoint is a good one that is specifically designed for Webflow, but it is a bit pricy at $25/mo. Other options (Storerocket, for example) seems to follow the same pricing model.
I guess if you really didn’t want to rely on third-party software, you could try to build it using an embed of Google Maps. Here (and here) is a tutorial on how to do that, and it doesn’t seem like too much code required. You might have to figure out some workaround to get it in that list formatting though. It would use a GeoJSON object and try to find something close based on an address (so not a zip code as you are maybe looking for).