LM335 and similar semiconductor sensors would do the job, but they're a bit expensive compared to two similar thermistors which would also work in a much simpler circuit. At worst you'd need to add a series trimpot to null out the two's tolerance variation at around the operating temperature.
Looking at the link, I wouldn't start from there; he's had to go complicated with a PNP switcher and biasing resistors as the 741 won't swing below about 1.5V so won't turn an NPN switcher off without extra components. An LM358
will swing down to 0V and is cheap and common.
A bit like this (the CA3140 will also work)

but the second thermistor in place of VR1 and a 10k pot between the two, wiper to inverting (-) input, to balance the thermistors.
Hysteresis can be added with a high-value resistor between opamp output pin and R1/R2 junction - it will be set in parallel with either R1 or R2 (depending on whether the opamp output is high or low) changing the reference voltage on the non-inverting (+) input whenever the switch operates.
If you're switching the fan through a relay, add an inverse diode across the coil as shown at the link.
The circuit's expanded on
here.