BUG: fix aggregation when using udf with kwarg
- [x] closes #58146
- [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).
- [ Not applicable ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [ Pending review ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

closes https://github.com/pandas-dev/pandas/issues/39169

https://github.com/pandas-dev/pandas/issues/58146#issuecomment-2039750872

Noted comment that the changes to agg will be breaking changes and I would need a workaround for #58132. This is fairly important as adding a `numeric_only` kwarg will more often push the code down `DataFrameGroupBy._aggregate_frame`. 

I was hoping to get your view on this PR as a temporary fix with minimalist code, it changes the path the code will take to use `GroupByApply.agg` as a list if there is more than one column to operate on - hence the aggregation done as loop of `SeriesGroupBy` if I understood the code correctly. Could you add a whatsnew note to `v3.0.0.rst` (under `Bug FIx` in the groupby section)?