This answer proposed to use Google or Facebook login for 2FA, but this question proved that occasionally Google login can fail, due to issues on Google's end. Furthermore, some previously available third party authentication methods like Yahoo! login became discontinued. This may happen to current methods too.
Due to this, users, especially moderators, cannot delete their email-and-password-based login and rely only on Google login, to avoid being locked out of their account. On the other hand, the email-and-password-based login is not secure enough without two factor authentication.
I suggest that Stack Exchange implements an optional simple TOTP two-factor authentication.
It would be optional in the sense that the user can turn it on or off manually in the menus, and by default, it should be off. This will not disturb existing users and will also not complicate new sign-ups. At his or her convenience, the user can go to the menus and turn it on or off.
A simple TOTP does not require storing phone numbers and sending SMS. It requires only the storage of a simple shared secret key that the user scans as a QR code or enters manually, into apps such as Google Authenticator or Authy.
What if the user forgets his/her password and/or loses his/her device?
In this case, the existing email-based password reset method can be used, which should automatically revoke the TOTP 2FA. So, after resetting his password, the user needs to setup TOTP 2FA again, if he/she wishes to.
From a technical point of view, I think passwords are perhaps stored as hashed strings. Now in addition, Stack Exchange just needs to store this shared secret key with encryption and ensure that it's not exposed to unauthorized persons. The Stack Exchange servers also need to regularly synchronize time. There is no need for storage of phone numbers (which is privacy-relevant) and sending SMS (which requires additional costs and may not be supported for all countries of the world). So, I don't think this proposal should be technically difficult or costly to implement. Of course, it will be tedious to implement, test and ensure that it's secure, but I don't think that it will be technically difficult. I don't work for Stack Exchange, so I'm just guessing here.