I would simply start by editing the contact name and phone number slightly and editing it back again after a few seconds (if you have icloud sync on) I also showed them me resolving this step by step and they agreed this must be iOS and WatchOS but still couldn't say for why. This is nothing to do with caller ID and I verified the second issue I had with apple via screenshots and they confirmed the software was at fault but they couldn't say why in my case this was happening.
This solved the issue I had on one device but that was where this happened every message and showed like that on apple watch, and showed the contact number not name on the conversation too.
On another device I had: it happened after an iOS update and I had to go in and "Edit" the contact and make some change and then edit it back, like their name, just to force it to save and sync. On one device this still happens now and again and no resolution. The phone does know the phone number the message is from and displays that correctly on screen but should show the contact's name instead. The sender of an iMessage or SMS is NOTHING to do with caller ID at all. I'm sorry the other guy here completely misunderstands and is going on about caller ID.
One one of our phones this can happen intermittently and only on a couple of numbers.