Hi takom. I had this exact same issue occur on an iPhone 6S that was updated from iOS 9.3.5 to 10.2.1. The location data is there, and it's still good—as verified by checking on the Mac—but it appears that the iPhone simply fails to properly reconcile the information. The fix is to wipe the calendar data from the phone and rebuild it from scratch. Here's what worked for me:
Follow the instructions at https://support.apple.com/kb/PH11524 to export all calendars into a calendar backup file on your iMac. This will serve as the canonical version of your calendar events. Nothing catastrophic should come from this procedure, but if a problem does occur, this file can be used to restore all your calendars to the way they were.
Disable iCloud Calendar syncing
On your iPhone, go to Settings > iCloud. Scroll down and tap the slider for Calendars to turn it off. When asked what would you like to do with the previously synced iCloud calendars, tap Delete from My iPhone.

Check sync settings for Calendar
On your iPhone, go to Settings > Calendar. Verify that the setting under Sync is correct for how far back you want old events to sync. (In my case, I chose to sync All Events.)
Enable iCloud Calendar syncing
On your iPhone, go back to Settings > iCloud. Tap the slider for Calendars to turn it on.
(Optional: Refresh your calendars)
If you haven't set your iCloud data to Push sync, you'll have to manually refresh. On your iPhone, open the Calendar app and tap the Calendars tab. Swipe down on the list to refresh events and reminders. (This wasn't necessary in my case, but if it doesn't automatically begin syncing, this step will begin the process.)

Verify calendar data
On your iPhone, go to the Calendar app. Events should populate as your phone downloads the data. For mine, it took approximately a minute for everything to download over Wi-Fi.
After the process finished, I found all my calendar events had their location data visible again. I hope this helps you out. Good luck!