BUG: Setting values on DataFrame with multi-index .loc(axis=0) access adds columns
- [x] closes #58116 
- [x] [Tests added and passed]
- [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.

Setting values on a Multi-Index DataFrame with axis=0 passed into loc caused columns to be added when they shouldn't be.

This occurred because when setting items(s) with loc, the axis argument was ignored; _ensure_listlike_indexer(self, key, axis=None, value=None) never has self.axis passed in, and always sets axis to 1.

To solve this, we passed self.axis in as an argument when calling the function, and added an if statement to only set axis to 1 if none is specified. 

coauthored with @regieleki !
Thanks @eshaready  Thanks @eshaready!