BUG: Keep categorical name in groupby
- [x] closes #28787
- [x] tests added / passed
- [x] passes `black pandas`
- [x] whatsnew entry

Fixes an issue where column name information was getting dropped when grouping by a categorical column.  I had to change a couple existing tests which I think were incorrect since they were implicitly assuming this behavior was expected.  Also confirmed that this fixes the problem from #28787:

```python
[ins] In [1]: import pandas as pd 
         ...:  
         ...: df = pd.DataFrame(data=(('Bob', 2),  ('Greg', None), ('Greg', 6)), columns=['Name', 'Items']) 
         ...:  
         ...: df_cat = df.copy() 
         ...: df_cat['Name'] = df_cat['Name'].astype('category') 
         ...: df_cat.groupby('Name', observed=True).agg(pd.DataFrame.sum, skipna=True).reset_index() 
         ...:                                                                                                                                                              
Out[1]: 
   Name  Items
0   Bob    2.0
1  Greg    6.0
```
lgtm. over to @topper-123  @topper-123 Not sure if it was related to using the fixture, but was getting some test failures due to column order after the update, so added a `check_like` to the assertion Thanks, @dsaxton!