BUG: DataFrameGroupBy.boxplot() ignores selection of variables
- [x] I have checked that this issue has not already been reported.

- [x] I have confirmed this bug exists on the latest version of pandas.

- [ ] (optional) I have confirmed this bug exists on the master branch of pandas.

---


#### Code Sample, a copy-pastable example

```python
In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: df = pd.DataFrame(index=range(10**6))

In [4]: df['categories'] = np.arange(len(df)) % 4

In [5]: df['data'] = np.random.random(len(df))

In [6]: for i in range(10):
   ...:     df[f'i:{i}'] = np.random.random(len(df))
   ...: 

In [7]: df.groupby('categories')[['data']].boxplot()
Out[7]: 
0         AxesSubplot(0.1,0.559091;0.363636x0.340909)
1    AxesSubplot(0.536364,0.559091;0.363636x0.340909)
2             AxesSubplot(0.1,0.15;0.363636x0.340909)
3        AxesSubplot(0.536364,0.15;0.363636x0.340909)
dtype: object
```

... results in the following:

![download](https://user-images.githubusercontent.com/1224492/115877258-85d69d00-a447-11eb-94ea-5d11c7a7a30b.png)

#### Problem description

The variables `i:*` should not appear at all in the plot, given that in ``In [7]``, only ``data`` was selected from the ``DataFrameGroupby``. Neither should the grouping variable. Indeed,

```python

In [8]: df.groupby('categories')[['data']].describe()
Out[8]: 
                data                                                                          
               count      mean       std           min       25%       50%       75%       max
categories                                                                                    
0           250000.0  0.499758  0.288484  2.852768e-07  0.249453  0.499626  0.749729  0.999990
1           250000.0  0.499857  0.288900  7.654410e-06  0.249737  0.499469  0.750530  0.999998
2           250000.0  0.499340  0.288823  7.296400e-07  0.248793  0.498451  0.749593  1.000000
3           250000.0  0.500614  0.288230  1.751182e-06  0.251923  0.501253  0.749567  0.999994
```

#### Expected Output

The desired outcome is obtained with 
```python
In [9]: df[['data']].groupby(df['categories'])[['data']].boxplot()
```

...which produces

![download (1)](https://user-images.githubusercontent.com/1224492/115878148-80c61d80-a448-11eb-86e9-8716c3455c30.png)

#### Output of ``pd.show_versions()``

<details>


INSTALLED VERSIONS
------------------
commit           : 2cb96529396d93b46abab7bbc73a208e708c642e
python           : 3.7.2.final.0
python-bits      : 64
OS               : Linux
OS-release       : 3.10.0-1062.18.1.el7.x86_64
Version          : #1 SMP Tue Mar 17 23:49:17 UTC 2020
machine          : x86_64
processor        : x86_64
byteorder        : little
LC_ALL           : None
LANG             : it_IT.UTF-8
LOCALE           : it_IT.UTF-8

pandas           : 1.2.4
numpy            : 1.19.1
pytz             : 2020.1
dateutil         : 2.8.1
pip              : 20.2.2
setuptools       : 40.6.2
Cython           : None
pytest           : 6.0.1
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : None
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : 2.11.2
IPython          : 7.17.0
pandas_datareader: None
bs4              : None
bottleneck       : None
fsspec           : None
fastparquet      : None
gcsfs            : None
matplotlib       : 3.3.1
numexpr          : 2.7.1
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : None
pyxlsb           : None
s3fs             : None
scipy            : 1.5.2
sqlalchemy       : None
tables           : 3.6.1
tabulate         : None
xarray           : None
xlrd             : None
xlwt             : None
numba            : None

</details>

