Yes,
For parsing a name into it's constituent parts: Python Human Name Parser.
https://nameparser.readthedocs.io/en/latest/
For fuzzy matching similar names:
https://rapidfuzz.github.io/RapidFuzz/
It goes without saying that normalizing names is a difficult endeavor, probably pointless if you don't have additional fields to identify the person on.