BUG: Concatenation of columns with tuples names is inconsistent
- [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

```python
import pandas as pd

def main():
    col1 = [('A', 'a'), ('A', 'b')]
    col2 = [('A', 'a'), ('A', 'b'), ('A', 'c')]

    # 2 columns
    df1 = pd.DataFrame([[1, 2], [3, 4]], columns=col1)
    # 3 columns
    df2 = pd.DataFrame([[5, 6, 7], [8, 9, 0]], columns=col2)

    # DataFrames with matching indices
    df_concat1 = pd.concat([df1, df1])
    # DataFrames with different indices
    df_concat2 = pd.concat([df1, df2])

    # Passes
    pd.testing.assert_index_equal(df1.columns, df_concat1.columns)
    # Fails
    pd.testing.assert_index_equal(df2.columns, df_concat2)

if __name__ == "__main__":
    main()
```

Concatenated DataFrames:
```
df_concat1:
   (A, a)  (A, b)
0       1       2
1       3       4
0       1       2
1       3       4
df_concat2:
   A        
   a  b    c
0  1  2  NaN
1  3  4  NaN
0  5  6  7.0
1  8  9  0.0
```

#### Problem description

When concatenating two dataframes which have tuples for column names, a length mismatch results in the output containing a MultiIndex.
I would expect the relative sizes of the inputs to not affect what type of index comes out - either always tuples or always MultiIndex would make sense.

#### Expected Output
Either neither assertion fails or they both fail and both `df_concat1` and `df_concat2` have a MultiIndex

#### Actual Output

```python-traceback
Traceback (most recent call last):
  File "./test_mim.py", line 27, in <module>
    main()
  File "./test_mim.py", line 24, in main
    pd.testing.assert_index_equal(df2.columns, df_concat2.columns)
  File "/usr/lib/python3.8/site-packages/pandas/_testing.py", line 633, in assert_index_equal
    _check_types(left, right, obj=obj)
  File "/usr/lib/python3.8/site-packages/pandas/_testing.py", line 609, in _check_types
    assert_class_equal(l, r, exact=exact, obj=obj)
  File "/usr/lib/python3.8/site-packages/pandas/_testing.py", line 724, in assert_class_equal
    raise_assert_detail(obj, msg, repr_class(left), repr_class(right))
  File "/usr/lib/python3.8/site-packages/pandas/_testing.py", line 915, in raise_assert_detail
    raise AssertionError(msg)
AssertionError: Index are different

Index classes are not equivalent
[left]:  Index([('A', 'a'), ('A', 'b'), ('A', 'c')], dtype='object')
[right]: MultiIndex([('A', 'a'),
            ('A', 'b'),
            ('A', 'c')],
           )
```
#### Output of ``pd.show_versions()``

<details>

```
INSTALLED VERSIONS
------------------
commit           : None
python           : 3.8.2.final.0
python-bits      : 64
OS               : Linux
OS-release       : 5.6.3-arch1-1
machine          : x86_64
processor        : 
byteorder        : little
LC_ALL           : None
LANG             : en_AU.utf8
LOCALE           : en_AU.UTF-8

pandas           : 1.0.3
numpy            : 1.18.2
pytz             : 2019.3
dateutil         : 2.8.1
pip              : 20.0.2
setuptools       : 46.1.3
Cython           : 0.29.16
pytest           : None
hypothesis       : None
sphinx           : None
blosc            : 1.9.0
feather          : None
xlsxwriter       : 1.2.8
lxml.etree       : 4.5.0
html5lib         : 1.0.1
pymysql          : None
psycopg2         : None
jinja2           : 2.11.1
IPython          : 7.13.0
pandas_datareader: None
bs4              : 4.8.2
bottleneck       : None
fastparquet      : None
gcsfs            : None
lxml.etree       : 4.5.0
matplotlib       : 3.2.1
numexpr          : 2.7.1
odfpy            : None
openpyxl         : 3.0.3
pandas_gbq       : None
pyarrow          : None
pytables         : None
pytest           : None
pyxlsb           : None
s3fs             : None
scipy            : 1.4.1
sqlalchemy       : 1.3.16
tables           : 3.6.1
tabulate         : 0.8.7
xarray           : None
xlrd             : None
xlwt             : None
xlsxwriter       : 1.2.8
numba            : 0.49.0
```
Also tested on the following system:
```
INSTALLED VERSIONS
------------------
commit: None
python: 3.7.7.final.0
python-bits: 64
OS: Linux
OS-release: 5.5.10-100.fc30.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_AU.UTF-8
LOCALE: en_AU.UTF-8

pandas: 0.24.1
pytest: None
pip: 19.0.3
setuptools: 40.8.0
Cython: None
numpy: 1.16.1
scipy: 1.2.0
pyarrow: None
xarray: None
IPython: 7.3.0
sphinx: None
patsy: None
dateutil: 2.8.0
pytz: 2018.5
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 3.0.2
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml.etree: None
bs4: None
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: None
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: None
```

</details>
