I guess the way the fire looks in the first picture is the way you want it to look like, right?

Now, the problem you have in picture 2 is not a problem of the blending... you add colors, and the blending itself works perfect...

But to achieve the effect you want, you don't have to use ANY effect except using alpha channel.

So the problem lies not in your code, but in your fire image.

This one should be designed with alpha channel, so the parts which should be visible are with no or a bit transparency, and to the edges with more transparency.