ENH: Aggregate pass args and kwargs to function list
#### Describe the solution you'd like

When aggregating dataframe with different functions, it is currently not possible to pass kwargs to the functions.
My use case is a dataframe I want to aggregate by values, and apply either "count" or "sum" on it:

Ex than **works** (1 function):
```py
df.agg(
    less_than_1j,
    aggregation_func="count"
)
```
Ex than **does not work** (2+ functions):
```py
df.agg(
    [
       less_than_1j,
       between_1j_2j,
    ],
    aggregation_func="count"
)
```

with `less_than_1j` and `between_1j_2j` signature being something like: `def less_than_1j(x, aggregation_func="sum")`


#### Describe alternatives you've considered

The issue is in [core/apply.py#124](https://github.com/pandas-dev/pandas/blob/73c68257545b5f8530b7044f56647bd2db92e2ba/pandas/core/apply.py#L124)

```py
         # curry if needed
         if (
             (kwargs or args)
             and not isinstance(func, (np.ufunc, str))
             and not is_list_like(func)
         ):
 
             def f(x):
                 return func(x, *args, **kwargs)

         else:
             f = func
```

Fix proposed:  add this check:

```py
        elif (kwargs or args) and is_list_like(func):
            def f(x):
                return [fun(x, *args, **kwargs) for fun in func]
```