Could you just have a single field for name and allow anything in that field? The only downside is you can't do something like "Hi ${FIRST_NAME}" in your emails, but the upside is that it basically handles any name or name order, e.g. Indonesian single names, Spanish names with the mother's surname included, etc.
Which might be an upside, because there are cultures and contexts where it’s incredibly rude. You’re a glorified ledger, not a family member or life-long friend.