For the US and Canada, there is JMP.chat which can be used to 2FA over SMS without a SIM. Uses standard XMPP so can be used from a computer or phone while on WiFi.
There are other proprietary services which can do the same for no monetary cost (usually lots of advertising and tracking, though).