BUG: Fix astype from float32 to string
- [x] closes #36451
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

It seems both bugs were caused by the same behavior from numpy:

```python
[ins] In [1]: import numpy as np

[ins] In [2]: arr = np.array([0.1], dtype=np.float32)

[ins] In [3]: arr
Out[3]: array([0.1], dtype=float32)

[ins] In [4]: np.asarray(arr, dtype="object")
Out[4]: array([0.10000000149011612], dtype=object)
```