Contacts had been moved over via Android > iPhone transfer tool, but were partially lost after iOS automatically upgraded overnight.
There was a mix of some contacts present in Google Account but many were showing as phone number only in Messages.
Exported the vCard file from the old Android phone, attached it to an email, opened the email on the phone and imported/merged the contacts. Everything looked correct in the Phone/Contacts app, but several groups and individual texts in Messages were associated with the wrong contacts.
- Go to Settings->Messages
- Scroll down to the header SMS/MMS
- Uncheck “MMS Messaging”
- Restart iPhone
- Go back to “MMS Messaging” and turn it on
Opened up Messages again and group messages instantly updated to the correct people and numbers.
Thanks to this page for the fix: https://apple.stackexchange.com/questions/232176/iphone-6s-not-displaying-names-on-text-messages