The miners themselves generate the new coins (block reward). You see, when a miner creates a new block of transactions, they add what’s called a “coinbase” transaction, which pays the block reward (currently 25BTC) to their own address. Now, if they successfully mine the block (find the correct nonce), then all the transactions in the block are confirmed, including that coinbase transaction to themselves (and then all other nodes verify and confirm them as well, making it legit). If a miner tried to generate an invalid coinbase transaction, other nodes would reject it. One hard thing to understand is that bitcoins are not really created…or destroyed.. they are just entries in a ledger (and technically not even that…just a list of unspent transaction outputs [UTXOs]).
Hope this helps