So if in order to verify a block you just need a hash lower than the block in the hash, then why do you need to do a bunch of calculations rather than just using 0000000000000000000000000000000000000000000000000000000000000000000000000000001 every time?
It's not that you need a hash that is lower than the target - that's trivial as you pointed out. Rather you need to have a block whose block header must hash to a hash that is lower than the target. That is much harder to do because to find it either requires SHA256d to not have preimage resistance (i.e. given a hash, you can find the data used to produce that hash) or via brute force. Proof of Work works via the latter.