If your Mac was not set up with Location Services at the start, then there are several settings you will need to verify and change. In addition, if you are have iCloud+ and using Private Relay, you should shut this off until it has recognized your location. If you are using a VPN, you will also want to disable this as it will block attempts to get an accurate location from your IP Address. You will need to have an internet connection.
- Go to Settings > General > Language & Region and set current Region
- Go to Settings > General > Date & Time. Set Date & Time Automatically should be on. Source should be directed to an Apple time server. Turn on Set Time Zone automatically. Verify and update correct info on this page
- Go to Settings > Privacy & Security > Location Services. You said Location Services is on, so under System Services click the Details Button. Make sure all are on. The bottom 2 (Wifi Calling & Mac Analytics don't matter).
Let us know if there are any trouble changing these settings or your location reverts back to an incorrect place. If there is still a problem, then the next step is to look at your router. Apple maintains a database of locations bases on the router, which is usually no problem unless you move. In this case the router could still be associated with the previous location. Since the Mac does not have GPS, it needs to determine location based on the router IP address.