If I go back to block #1000 and add one more transaction, this will change the hash and it wont be the same one stored in #1001. However, how the hash of block #1000 changes in the first place if it was already calculated?
Once a block has been mined and accepted as part of the longest valid chain (ie, several confirmations deep), it will not ever change (...
Hashes don't actually 'change'. When you add a transaction to a block you are creating another block.
It's like an author published a book and then next year printed a new edition with an extra comma in the page 36 and the fans said he released a 'new' book. It doesn't make sense for books but for blockchain every bit counts.