Answers to your questions:
"Can I use a 5.1V Zener?" Not sure. I'll resim the circuit to see.
About the resistor values & functions:
The LM339 has no internal pull-up. It can only sink current. R7 is there to source current to the LM339 output pin and the base of the transistor Q1. The base-to-emitter junction of Q1 conducts when the base voltage is ~0.7V, so if the LM339 output is off (not sinking current), almost all of the current that flows through R7 flows into the base of Q1. The base current of Q1 causes it to turn on, sinking current through the relay coil. The min. base current of Q1 should be ~1/15th of the relay coil current, or Ic = E/R = 12/90 = 133mA, so Ib should be ~10mA.
(Here is where I must check if Q1 can drive a 90Ω coil, especially if the Zener voltage is lowered to 5.1V)??? Now, R7 is supplied from 8.2V, while the base end is at 0.7V, so it has 8.2V-0.7V = 7.5V across it. This makes the base current 7.5/1.5K = 5mA, which is marginal for the 90Ω relay. Lowering the voltage at the Zener would be bad. To compensate for that, R7 will have to be fed from the unregulated 12V.
R2 could be eliminated; it is supposed to help turn off Q1, but the output transistor in the LM339 can do that all by itself
R3 provides a modicum of positive feedback to the non-inverting input of the LM339. It feeds back about 1/100th of the 0.7V swing at the base of Q1 to provide ~7mV of hysteresis relative to the TPS output. This should prevent the relay from chattering if the throttle is position exactly at the trip point of the circuit. This may have to be increased slightly (by making R3 ~1meg) if the circuit chatters.