The reason of this is because the owner of that phone number has ported(migrated) the number from 'X' city to 'X' city. The area code will still reflect the original city in the 'national phone directory' after the number has been migrated.
It is possible to edit the location/state within Truecaller to get this adjusted. If you're not a Truecaller user we recommend you to contact your carrier.