I had thought that it might be a computer related requirement, as a lot of databases do not accept a blank space as a valid character to store. The hyphen may prevent the data from being stored as one squished word. I see nothing wrong with having two separate names as a "last name", but then one would have to call them "last names".