Contact name missing from text messages
Hard to say what your country is but we had a similar issue in mine. The cause was that number format inside the country is different from the international format that most operators use when sending messages or doing calls. For example, in the country we have 8-926-1234567 and international number is +7-926-1234567. In some old iOS versions iPhone could not recognize these numbers as the same.

The solution was simple: always use international number for all contacts. Try and see if it helps.