It looks like your CB database and configuration isn't in a consistant state.
Either someone edited something in SQL or something got incoherente.
You can't be in "name only" mode and have first and last name fields even published. So what you have is inconsistent.
If you want first and last name, then you need to go to CB configuration and select that setting as name format. You don't have to put them to the profile, or if you need them in users-lists, then you can put them in a new tab that you put in a "not on profile" position.
Once the configuration is done and saved, then go to CB tools -> check CB database, and if anything is flagged red fix it (of course backup database as suggested first).
Please note that if you have users registered already, you will need to manually copy the name field of jos_user SQL table into first and last name fields of jos_comprofiler SQL table.