Many people use the same password for their email as they do for their exchange accounts, and some exchanges will allow password reset emails to be sent to the same email which is being used to 2FA. Therefore you are reducing the security of your exchange account from 2 factors to 1, since both factors can be compromised with access to your email.
Using SMS is a poor choice, not only because of old style intercepting or hacking your communications, but because it is pretty easy to social engineer access to your phone number. Scammers will phone up your mobile provider, and with a few details about you (details which most people will have openly shared on their social media accounts), they can transfer your number to a new SIM under their control.
And yes, the hacker most likely hacked the victim's phone to get into his app which is something that anyone can be exposed to if not being careful
Google Authenticator will work offline, so if this is your concern, then run it on an air gapped device.