compare what you have done with the high-quality-model as reference-
there are a lot things you will fail.
Only one: the arms
you made the faces of the arm the way with an edge where the other model has no edge and its the place of this metal-armature-arm-shield-type thing.
The idea is, you need faces at the model that can be painted in the image like a flat picture. You can try to set seams and unwrap like hell, but you never will have all faces like this. But if the texturing “breaks” at places like the seams under the arms, then its hard to see it –
If you look at the painted diffuse-map, then you easy can find larger parts, that are nearly flat painted - you even could project a photo of something to those parts without big re-sizing and re-“warping”.
I am none of those pros! But i would suggest you create a first unwrapping and try to get large parts of your model in such a flat way out.
Then - dont use such a small picture, use a large one - minimum 1024*1024 - and use the blender-paint-texture to paint a first coloring. Save this and the uv-image (the one with the edges, to be uses as a background mask in your paint-program)
and use some photos as stamp/brush/clone to check what it looks like in blender with this texture on your model.
The very last step - if you ever want to do it (you dont need if the model is not for such a low-resource game-thing with small texture-sizes) is to scale the image down and then again edit single pixels that were distorted too much. There are different methods to do this down-scaling (its called like dithering, because multiple pixels are combined to one but without loosing the structure, so you dont end with a total blurry image).