First off, you're a risk-taker. That's not necessarily a bad thing; in fact, risk-takers create some of the most dramatic games that people tend to enjoy. Perhaps you would appreciate the playing style of Mikhail Tal. Try studying some of his games.
Second, play slower games, or play the games slower. It seems to me that you have a great sense of what to do at various aspects of the game, but you tend to rush things without seeing the potential consequences of your actions. For instance, 20. c4 seems to be a reactionary move, but better was 20. Qg3 threatening the d6 pawn and potentially forking the queen and rook on f8, as well as positioning your queen in front of black's king. Now that you've played 20.c4, black can now control the a1-h8 diagonal, thereby freeing his slightly cramped position.
24. Rxd6, slightly better is 24.Qxf7+ I think that would give you a somewhat even game because you'll have more pawns.
I play blitz games and select sharp lines to retain more seconds in my clock. I play well I think but I blunder so many times that I have a pathetic ELO (~1200).
Give me some advices.