This may sound like a a dumb question but here goes. When I place or receive a call from anyone who is on my contact list, not only does it display the name and number but also a location. However, the location does not match with the physical location. For example when I received a call from my job it showed the location as Hoboken but my job is physically located in Jersey City.

It's the City ID app that shows the City location. However it only shows the location the phone number's area code & prefix is registered. So a phone number in one town could very well have the area code/prefix from another town.