교수 and 교사 are occupations. 교수 is an occupation at a college or an university. 교사 is an an occupation from at nursery to at at high school.
So basically you shouldn’t call them 교수 or 교사, because it’s their name of occupation. Calling them 선생님 is more accurate expression.