Look dude, you're going about this all wrong.
First and foremost, you're using the complete wrong kind of image. There are two different kinds of images, raster or bitmap images, where you (or someone, or a picture, or whatever) gives the computer a series of grid coordinates and specific colors for each pixel. It's the same idea as the pointillism dot paintings as seen here:
http://www.personal.kent.edu/~rberrong/Destination/TheIslandOfGrandJatte.jpg This is the kind of image that you are used to seeing everywhere. From .jpg to .png, these are the images that you are by far and away more used to seeing.
There is, however, a different kind of image completely that you may have never realized existed. That type of image is called a vector image. Instead of telling the computer where each pixel should be and what color it should be, a vector image gives the computer a series of mathematical formulas that describe the shape of the lines and color of the areas of the image. The disadvantage of this kind of image is that it doesn't allow for the kinds of shading that one needs to show a real life image (and is impossible to try to make natively when taking a photograph) However, the real advantage of this kind of image is that it can be scaled infinitely. It is for that reason that damn near every logo on the planet (and every logo that is done correctly) is made as a vector image. The kinds of file extensions that you will see for a vector image are .ai, .ps, .svg, .eps, and many others.
The two most well known programs to edit and create vector images are Inkscape (a free product) and Illustrator (part of the Adobe Creative Suite). I HIGHLY suggest that you start there when trying to create the flags. If you don't do it as a vector, it will damn near always look like dog sh*t when trying to create a logo.
Secondly, your technique is all wrong. You're just dropping a logo on top of a flag, throwing on a blend mode and hoping for the best. Apart from a few tiny areas, you aren't actually changing the shape of the logo as it would be changing if it was actually on the flag. Again, it looks like dogsh*t. You need to do a hell of a lot better for it to look acceptable.