An ENGLISH teacher is any teacher who teaches English.
A BIOLOGY teacher is any teacher who teaches biology.
Why? Because this is a set phrase. The emphasis is on the subject being taught, not the teacher's nationality.
An English TEACHER is from England.
An American TEACHER is from the US.
An ENGLISH book teaches the English language.
An English BOOK can be on any subject, but it comes from England.