Set Messages app to show Names and Pictures by default for all conversations
This looks like a bug. Mine when checked does the same.
So I set it again and I also changed the Show As Balloons to Show As boxes. Quit and re opened. This stuck.
I then Change back to Show As Balloons Quit and re opened. Both settings stuck.
Tested on two Macs. Same thing
Further investigation which I think proves it is a bug
The show names and pictures or what ever you set in the app is actually being written out to the plist file.
The Dictionary SOTranscriptSettingsDefaultIMChatSettingsPreferences that holds this preference participantDisplay changes from number value 0 to 1 or 2.
The problem is the original default in the Dictionary SOTranscriptSettingsDefaultIMChatSettingsPreferences is to only have the participantDisplay entry.
When you also change the Show As Balloons setting to something else like boxes a new entry transcriptStyleID is added to the Dictionary SOTranscriptSettingsDefaultIMChatSettingsPreferences. Which will have the string value of for example com.apple.iChat.Styles.Balloons.
Once both entries exist then the setting participantDisplay is actually actioned.
I used Defaults delete,write to remove and replace these settings and the results are consistent.