The differences are not that great, and in some cases regional - ESL is more used in the US and ESOL in the UK and, I think, Australia, though both refer to learning the language in a country where it is spoken, while EFL is used for learning it where it is not spoken. If you can teach one, you can teach the other IMO.