If computers can calculate an address from its private key, then why can't they do the reverse and calculate a private key from an address?
Because the "trapdoor" functions used in public key cryptography are designed with exactly that property.
In your question, the first implicit assumption is already wrong. If a function can be calculated, it does not necessarily follow that its inverse can be calculated with similar effort or can be calculated at all.
For example, the function "abs" returns the absolute value of its argument. Naturally, its inverse cannot be computed, because you don't know whether the original argument was positive or negative.
Other functions have a defined inverse but it's much harder to compute the inverse than computing the original function. Elliptic curve functions as used in bitcoin belong to this class, as well as the operations on large primes that are used in RSA public key crypto (Pretty Good Privacy).
"Much harder" in this case does not mean "requires a faster computer" but "impossible given the natural laws and available ressources of humankind."
Onkel Paul