In AmE usage, a buff is generally more involved in the activity or thing that you're talking about than a fan.
I've not heard of a 'car fan', but a 'racing fan' would be somebody who likes to go to races and watch them on TV. A 'car buff' is somebody who knows about car makes and models, can probably tell you the difference between a 67 and a 68 Ford Mustang, probably knows the inner workings of a car, likes all things related to cars.
Similarly, a 'movie fan' is somebody who likes to watch movies. A 'movie buff' could probably name every film with a particular actor, the years those movies came out, who directed them, etc. Buffs are generally more involved, have a deeper interest in the thing you're talking about.
(not a teacher, just a language lover)
Student or Learner