Because that is excessively literal - it's a poor translation because it does not convey the intended meaning of the original..
In English we say, "She is sixty" or "She is sixty years old"; in French, they don't use "is" when talking about age, they use the verb "avoir" - "has". That's just how it is.
but in this case 'elle a presque soixante ans' works too, all these sentences are synonym, don't make it complicated If you want to say 'not sixty yet' the good translation is 'elle n'a pas encore soixante ans'. Bonus: she is about to be 60 could be said by "elle va sur ses 60 ans" but this is mostly spoken and not written, and not very precise.