The first thing to note is that 9. h3 is a minor mistake if your intention is to play a queenside attack. It is a diversion from your plan. It would make more sense if your plan were to attack through the center with moves like Qe2, Be3, Rd1, de, etc. In that case it would create a safe spot for the bishop on e3 by denying g4 to the black knight. All h3 is does in the plan you play is to accelerate the black kingside pawnstorm by creating a pawn lever for a later black g4.
Instead in the final position above follow Jonathan Rowson's advice and "talk to your pieces". In particular the bishop still at home on c1. Why are you attacking before you have completed your development? Particularly why are you attacking the opposite side of the board to where the enemy king is? Find a plan which involves completing your development by finding a square for the c1 bishop.
One suggestion would be to follow a plan played by Aron Nimzowitsch 100 years ago which involves fianchettoing the c1 bishop with threats of a knight sacrifice on e5 if black plays Nf8. Here are the moves up to where he has a big advantage:
[title "Nimzowitsch - Marco, Gothenburg 1920"]
1.e4 e5 2.Nf3 d6 3.d4 Nf6 4.Nc3 Nbd7 5.Bc4 Be7 6.O-O h6 7.a4 c6 8.b3 Qc7 9. Bb2 Nf8? (9...g5! 10. Re1 Rg8 11. dxe5 dxe5) 10. dxe5 dxe5 11. Nxe5 Qxe5 12. Nd5 Qd6 (12...Qxb2 13. Nc7++) 13. Ba3 (13. e5 Qxe5 14. Re1 Ne4 15. Rxe4 Qxe4 16. Nc7++) cxd5 14. Bxd6 dxc4 15. Bxe7 Kxe7 16. e5 N6d7 17. Qd6+