"...refer people to this post the next time they suggest a genius idea like a database table with a first_name and last_name column."
So what's his suggestion then? Take this list of "bad" assumptions and try to build around them? Hogwash. Questioning whether you should design around someone not having a name is like asking if you exist.
I know companies that have been making millions for 15-20 years with this genius idea. You know what's so genius about it? It's simple, the developers understand it and it works for a great, great majority of cases.