You are not going to be able to do this with arcpy because it does not expose the necessary interfaces.
With ArcObjects you could iterate over the layers and elements in a map and check font properties for the offending font name and update it accordingly. Some of the interfaces involved would likely include:
Now, consider how many developer hours this will take to develop, test and implement what is essentially a one-off operation vs. your doing it manually. My guess is you will end up doing it manually :)