How can I map an image correctly over my texture?
Since you are using a subsurf modifier you are experiencing interpolation issues over the large polygons on the label.

Add a few cuts on the edges of the label:





Then select the area for the label, unwrap it again and scale and rotate the UVs to get something like this:



Where the UV mapping uses the top and bottom of the image and is twice as wide as the image (since it will use the image for the front and back of the bottle).