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)
```
Thanks @dsaxton ! @MeeseeksDev backport to 1.1.x Owee, I'm MrMeeseeks, Look at me.

There seem to be a conflict, please backport manually. Here are approximate instructions:

1. Checkout backport branch and update it.

```
$ git checkout 1.1.x
$ git pull
```

2. Cherry pick the first parent branch of the this PR on top of the older branch:
```
$ git cherry-pick -m1 a0d6d061de42c54b8071d28a4bf60cd69853c388
```

3. You will likely have some merge/cherry-pick conflict here, fix them and commit:

```
$ git commit -am 'Backport PR #36464: BUG: Fix astype from float32 to string'
```

4. Push to a named branch :

```
git push YOURFORK 1.1.x:auto-backport-of-pr-36464-on-1.1.x
```

5. Create a PR against branch 1.1.x, I would have named this PR:

> "Backport PR #36464 on branch 1.1.x"

And apply the correct labels and milestones.

Congratulation you did some good work ! Hopefully your backport PR will be tested by the continuous integration and merged soon!

If these instruction are inaccurate, feel free to [suggest an improvement](https://github.com/MeeseeksBox/MeeseeksDev).
                