They all calculate it differently?
Ive seen this asked in the past and am pretty sure that is a correct answer.
obviously thats the case. but why? and which one is most correct
the bitcoin program should only do it ONE way
There is no RIGHT way, as things can change.
One could estimate it based off X number of blocks, X number of days, or since the last diff recalculate. No one would be more right than another, as they're just estimates.