Converting dtype of column from str  to S not working on reassignment
#### Code Sample, a copy-pastable example if possible

```python
import pandas as pd

df = pd.DataFrame({'a': ['Hello', 'World']})

df['a'] = df['a'].astype('S')
df['b'] = df['a'].astype('S')

print(df.dtypes)
```
Output is:
```
a    object
b       |S5
dtype: object
```


#### Problem description

The new column has the correct dtype of numpy byte string, the old column no contains
the new values but still has dtype `object`.

#### Expected Output
Both columns should have dtype 'S' 
#### Output of ``pd.show_versions()``

<details>
import pandas as pd

df = pd.DataFrame({'a': ['Hello', 'World']})

df['a'] = df['a'].astype('S')
df['b'] = df['a'].astype('S')

print(df.dtypes)
</details>
