BUG: allow None as name in multi-index during join
- [x] closes #58721
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

Another possible fix is to throw if `MultiIndex.names` contains `None`.
The exception message could say something like "empty index names must be empty strings, not None".
Automatic codeowner review requests were unintended, sorry. I accidentally pushed commits from my fork to this branch and that touched files unrelated to this PR. Force-pushed them away. pre-commit.ci autofix Thanks @matiaslindgren 