BUG: Fix issue with inserting duplicate columns in a dataframe (GH14291)
- [x] closes #14291
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

I've been sitting on this simple fix because it seems a little kludgy. SparseDataFrame doesn't do anything parallel to broadcasting in its _sanitize_column method... should it?

@paul-mannino Already looking good, apart from the other comments of @bkandel :
- Travis is failing due to some lint error: `pandas/tests/frame/test_mutate_columns.py:171:80: E501 line too long (101 > 79 characters)`
- Can you add a docstring to `_sanitize_columns` where you document the new broadcast parameter? 
 ## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/14384?src=pr) is 85.26% (diff: 100%)

> Merging [#14384](https://codecov.io/gh/pydata/pandas/pull/14384?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will not change coverage

``` diff
@@             master     #14384   diff @@
==========================================
  Files           140        140          
  Lines         50634      50634          
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
  Hits          43173      43173          
  Misses         7461       7461          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [d98e982...a00f0fe](https://codecov.io/gh/pydata/pandas/compare/d98e982ecb0f6b7f3478a63caac34e0be238895c...a00f0fe772d29874d0d77a0bd4599e530fb251ef?src=pr)
 New changes addressed all of my comments. Thanks!
 @paul-mannino There is going something wrong with the PRs that were open before we transferred to another repo. Can you therefore close this one and open a new PR? (just from the same branch)
