The solution works and most human players would probably select it but there are others of about the same value. Most obvious is a variation on the second move. 23. .. .Nf3+24.Bxf3 Rxe5 has about the same engine evaluation score. Also 22. ... Rxd5 should be a comfortable win.
The problem is that puzzles fail when engine scores are close. You can't expect a human solver to distinguish a score of -5 from a score of -6. Strong players will then choose the line of their personal liking and engines may change their mind over time when a newer version arrives.
So the weakness of the puzzle is not that your solution is wrong but that there are too many good solutions. A good puzzle features a solution where just one move is clearly superior to all the others on every turn and they stop before there is choice. That makes solving doable for a human. Otherwise he starts guessing which we call gambling, not solving.
Btw, such issues are predictable when you start a puzzle from a rook up position which almost always permits viable alternatives.
This is from a game I lost: Try to find the solution!
(this is the first puzzle I have made. If there is anything bad, please tell me!)