Think of it like this. A teacher is a person who teaches. A job is something a person does.
"My job is a teacher" is incorrect because a job isn't a person who teaches: YOU are the teacher. It might work abstractly if you're trying to imply your job teaches you many things, but even then it sounds awkward. You can say "My job is to teach" though.