Miners choose transactions from Memory Pool based on the High Transaction fees because it is more profitable for them. If Miner is able to mine a Block successfully then that fee goes to Miner directly.
There is a Block Limit in Bitcoin Blockchain. Bitcoin Blocksize is 1MB, one block can store approximately 1500 Transactions. This number is not fixed because it depends on the transaction size as well.

For example, Miner has added the 3 Highlighted transactions in a Block and with this Block, the limit has reached 1MB. Miner will start solving the Proof-of-work puzzle by continuously generating Trillions of Hashes per second. One solution is found, the miner will add the Block in his Blockchain and also Broadcast it to the other miners.