What about when the number of BTC has gotten close enough to 21 million that mining nearly never returns any new ones? The number of miners could fall to something approaching zero.
The hope is that miners will still make money off of transaction fees (a "tip" to the miner which verifies the transaction). Each new block assigns 50 BTC to the miner that found it, plus the accumulated fees of all transactions included in that block. The idea is that as mining new bitcoins becomes unprofitable, the transaction fees (set by the initiator of the transaction) will make up the difference.
In addition to the block reward (currently 50 and approaching zero) the miner gets any transaction fees for transactions included in the block. At the present, the block reward massively exceeds the transaction fees, but that will eventually skew the other way.