What happens to transaction once all the blocks are mined?
Note that there are not 21 million blocks but 21 million bitcoins generated through mining.  As for your specific questions, the difficulty of a block is independent of its reward so that would continue to match the hashing power of the network.  And the reason that people will continue to mine is, as you state in the question, because they will receive the transaction fees for their effort.