Nice game!
Some comments:
What did you have planned for 21.Kg2?
after his 25.b4, Qf8 wasn't forced: 25...Ng5+! (threatening 26.Kg1 Nh3#) wins. 26.f3 is forced, and then 26...Rxf3! threatens 27...Rxf1#, and 27.Rxf3 Bxf3+ wins rather harshly too. Finally 27.Qg2 Rxf1+ 28.Rxf1 Nf2+ 29.Rxf2 (29.Kg1 Nh3+ 30.Qg1! Rxg1 31.Nf2#) Qxf2 30.Qxe4 Qf1#. And I don't see alternatives for white right now (27.Rg1 Rf1+! 28.Qg2 Qxg1#).
Edit: I just noticed 25...Ng5+ 26.f3 Rxf3 27.Qxe4. Hmm. Seems to lose at first sight. Bah. Back to work.
I decided to showcase this game simply because it is a joy for me to review. I have never exercised such attacking capability! I hope others may find it instructful. Don't hesitate to leave your remarks, criticisms and praise!