Because they don't rev. HP = (TQ x RPM)/5250. Trucks and tractors need massive torque, they don't need the engine to rev and make HP. As you can see by that formula, a lot of torque that happens at low RPM means less HP. If the torque is 600 lb-ft at 1500 RPM, that's equal to about 171 hp. Now, if you alter the flow/cam characteristics of that engine so that the same 600 lb-ft torque peak happens at 4000 RPM, that's equal to about 460 hp.
HP is calculated at each point in the RPM band.