Multiindex recurse error fix
test and 3 line fix for a small bug mentioned in 2 issues (1 closed). test might be expanded, I only checked for the error disappearing

- [x] closes #25760 (and #28956 )
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Hmm it doesn't appear a consensus was ever made on this, but the suggestion was to raise. Why do you think this is better than raising? there are join operations that modify the order of MultiIndex names, like

```python
x=pd.DataFrame(np.arange(4),pd.MultiIndex.from_product([[1,2],[3,4]],names=['a','b']))
x2=pd.DataFrame(np.arange(8),pd.MultiIndex.from_product([[1,2],[5,6],[3,4]],names=['a','c','b']))
x2.join(x, lsuffix='x1')
```

so I thought it is not such a definitive feature and I couldn't think of a use case where it might be a problem

also, this change doesn't break any of the tests, so there seems to be no agreement on the other side either

anyway, raising a recursion error is definitely not an intended effect, changing it to a more informative error can also be a way to go. I just feel that it is more in line with the general way of python (and pandas) for the api to be more practical, convenient and flexible than restrictive 
 can you merge master thanks @endremborza 