So if two different nodes accept two different fees for a particular transaction, when the miners adds the transaction to a block, which fee does he use?
Each miner can include or reject any transaction, for any reason. That miner simply decides, what is included, and what is rejected. As long as the rules they use are similar between many different nodes, you can predict, what would be included, and what would be rejected.
Does it automatically becomes the new fee?
Changing anything in a transaction, including amounts, which would change the fee, causes it to have a new transaction ID, and can also invalidate some signatures in some cases, depending on what is signed by them. Which means, that if you have two or more transactions, spending the same inputs, then only one of them can be included in a block, otherwise, the whole block would be invalid.
And then, of course, one miner can include one transaction, and another miner can include a different version, and you can have two different valid blocks, on the same height. Then, the stronger chain will decide, what is valid, and what is not, and next blocks, built on top of it, will show you the right chain.
If it's the old fee, then what happens to the new fee?
Finally, only one version is included, and considered as confirmed. Other versions of the same transaction are invalid, if something becomes deeply confirmed. With each and every block, it becomes exponentially harder to change transactions in the older blocks.