transaction fee are set by nodes
This is completely wrong.
The transaction fee is set the by the person who makes the transaction. To be more precise, the transaction fee is the the total value of inputs minus the total value of outputs and it's the sender who decides on how much wants to pay as transaction fee.
Miners usually prioritize transactions based on their fee rate and they are free to even include transactions not paying any fee.
Nodes don't determine the transaction fee and it's not that they force people to certain amount of fee for their transactions. The only rule we have is that nodes don't relay transactions paying less than 1 sat/vbyte. Even that rule isn't a consensus rule and as I said miners can even include transactions paying zero fee.