Well and good can have similar meanings, but in this case well is an adverb, while good is an adjective.
- He teaches very well. (adverb modifying teaches)
- He is a good teacher. (adjective modifying teacher.)
- He is good. (NOT He is well.)
- She speaks English well. (NOT She speaks English good.)
- She speaks good English.
- Her English is good. (NOT Her English is well.)
Note that we cannot say She speaks well English. (Adverbs cannot usually go between the verb and the object.)
There is also an adjective well, meaning ‘in good health’.
- I don’t feel very well.
- ‘How are you?’ ‘Quite well, thanks.’
Note that the adjective well is only used to talk about health.