I had a similar issue the other day, with the bonus of what appeared like details of one card were getting mixed together with other cards' details (and maybe "linked cards" getting turned on).
What BrianBaughn said re: do a contact archive export. I do that once every two weeks for recovery sakes. Can be re-imported as well.
Don't remember the steps I did, but, might have to basically wipe everything. I first turned off iCloud on my iOS devices for contacts (with the "remove from device" option). Deleted contacts from Mac, import the archive. Select all and move to iCloud. Turn on iOS iCloud contacts on devices. The thing I don't remember is if I had to sign into iCloud website and delete everything from there before doing the archive import on Mac (usually, the issues I've seen are on iOS devices and just need to turn off & on iCloud to resolve, but this, several hoops to jump through before finding the right steps).
And: Calendar/reminders also have an archive export/import option. Another thing I save every two weeks.