As you mentioned, there will only be 21 million bitcoins ever. So, Bitcoin is deflationary.
Ethereum, on the other hand, is inflationary. It will always create new ether (unless they make a hard fork to change that). To help with this, the EIP-1559 was introduced, to burn some fee eth on every transaction. More details here. Since a bit of ether from the fee is burned every time, Ethereum now behaves a bit "deflationary", but it's not enough to call it deflationary.
At the moment, Ethereum provides the miner with 2 new ethers per block (plus a lot of ether that already existed in fee, minus the little percentage of burnt fee).
Ethereum creates a block about every 15 seconds. And based on this data, about 6431 blocks are produced on average daily. If we multiply that by 365 days a year is about 2347315 blocks per year, multiplied by the amount of ether generated in each block (2) is about 4694630 ethers per year.
Looking at this transaction, we can see the amount of ether burnt:
The Ethereum founders decided on the number of ethers to provide per block, as Satoshi decided the amount of bitcoin to provide per block.
Here you can see the reward of one recent block: https://etherscan.io/block/15393087
It shows 2 + fees minus the burnt fees: