Sometimes in positions like this where you are viciously attacking and your pieces are swarming the king, there might not even be a forced checkmate. You should always be winning in these kinds of positions but sometimes you have to be patient and not rush to deliver the final blow, as it might not be possible for a while.
How do you find a checkmate in a position like this?

For me it comes down to pattern recognition, calculations, visualization and tactics.
Of course there are times when I do come up short.
Humans rated in the 1000s don't The computer tells you that you had mate in *9* moves at 15 when black blunders Re8. I don't know how anyone not titled or nearly titled would see that without being able to what-if on the board for a good 15 min.
you did well, and fumbled that sequence or one close to it with Be6 on 19, extremely hard to see the better move there esp with any kind of time pressure (Rxe7 trade sequence is the winner).
I can't give you words that would let you see this stuff. I didn't see it either, I let the computer do the work there, its not trivial.
But you were on the right track. If black did not screw up, he is going to have to move his king to C and lose a bunch of material, which WILL lead to a win, eventually. A win is a win, even if you missed the mate in 10 that the computer wanted you to do.
You did really well here, BTW. Blacks mistake was fairly subtle, and you turned that into a crush.

Looks to me like you played really solid from start to finish. I don't see what blunder you are referring to... after your Be6 he is crushed. I wouldn't worry about missing the checkmates, they were pretty subtle and many moves deep.

Your position was massively winning most of the game so making small improvements like you did is what you want to do, unless you can find big improvements. Something like Chessable's Checkmate Pattern's Manual course might help a bunch, but your position here was pretty complicated and finding forced mate in a 10 min game is pretty tough. It almost has to call to you instead of you looking for it. The computer said it saw #8 long before, but in the time you had, there's not enough to calculate such stuff. Unless it's like some king-walk that plays itself, they're going to be really hard to find. Just keep trying and you'll get faster and faster at seeing / calculating. Every once in a while, you'll find one!
Humans rated in the 1000s don't The computer tells you that you had mate in *9* moves at 15 when black blunders Re8. I don't know how anyone not titled or nearly titled would see that without being able to what-if on the board for a good 15 min.
you did well, and fumbled that sequence or one close to it with Be6 on 19, extremely hard to see the better move there esp with any kind of time pressure (Rxe7 trade sequence is the winner).
I can't give you words that would let you see this stuff. I didn't see it either, I let the computer do the work there, its not trivial.
But you were on the right track. If black did not screw up, he is going to have to move his king to C and lose a bunch of material, which WILL lead to a win, eventually. A win is a win, even if you missed the mate in 10 that the computer wanted you to do.
You did really well here, BTW. Blacks mistake was fairly subtle, and you turned that into a crush.
if you violate opening principles that much, the chess gods will have no mercy left
thank you i've picked up a book on chess attacking since, hopefully it will help me strategically!
It's not always easy to punish an opponent. That's where you need to keep sight of the big picture. Maybe there is no checkmate, but you can end up 2 pawns or a piece and win that way? I'm not saying to be materialistic. In general it's great to keep building up your position, preferably by making continuous threats (it's called the initiative). I like 14. Rad1 or 15. Rad1 for that matter, develiping another piece with more threats. But if after all that black's still not getting chevkmated, it's nothing to be worried about. You have a great position, look for ways to maybe win material or to keep improving your position.

Also, as John Bartholomew says, If you thought you calculated checkmate but it's not there, don't be upset about just winning some material instead.

You played extremely well. By move 9 you're ahead, having castled first. You do a great job opening up the center and then playing forcing moves that develop your pieces.
Just because you're ahead, doesn't mean it's going to be easy. At some point you have to make trades, maybe even sacrifices, to bust through his defenses. You did that, taking out his knight that was defending his other knight that was blocking the path to the king... if there was a slightly faster path to victory I mostly didn't see it (but what if you bring the second rook to the center a little earlier?). Your path was more than good enough - by move 18 black has no good moves left, mate is inevitable within 2 or 3 moves.
It's not always easy to punish an opponent. That's where you need to keep sight of the big picture. Maybe there is no checkmate, but you can end up 2 pawns or a piece and win that way? I'm not saying to be materialistic. In general it's great to keep building up your position, preferably by making continuous threats (it's called the initiative). I like 14. Rad1 or 15. Rad1 for that matter, developing another piece with more threats. But if after all that black's still not getting checkmated, it's nothing to be worried about. You have a great position, look for ways to maybe win material or to keep improving your position.
The goal behind 14 Rad1 is to neutralize a defender of e7. It brings in an attacker and does not block the lines that a different attacker could be brought in on.
Also, after 14 ... Be7 15 Rxd6 cxd6 16 Nd5 you have now eliminated the d6 Bishop (using a Rook that wasn't able to attack e7 anyway) and are piling up on e7 with the Black queen unable to come to the knight's aid.
And after 14 ... Re8 the simple 15 Nd5 (Black almost any), 16 Nxe7 Nxe7 17 Bxe7+ Kd7 18 Bxd6+ Kc6 19 Qc4+ Qc5 20 Qxc5+ Kd7 21 Bxc7# looks good and relatively straightforward to see (there may be a shorter mate but usually you stop once you find a forced one).
I had this completely winnning position, but my opponent defended relentlessly. If he didn't blunder mate in 1, i probably wouldn't have been able to mate him. How does one find a checkmate in a position like that?
19. Rxd7 appears winning, since
- 19...Kxd7 20. Qe6+ Kd8 21. Rd1+ looks resignable even if there is no checkmate in sight
- 19...Kc8 20. Rxe8+ collects gifts from Santa Claus
- 19...Kc8 20. Bc8 Kxd7 Rd1+ also appears bad for Black.
I had this completely winnning position, but my opponent defended relentlessly. If he didn't blunder mate in 1, i probably wouldn't have been able to mate him. How does one find a checkmate in a position like that?