I've solved the problem now. It was caused by the fact that the label area is not a perfect rectangle (it has a curve at the top) and the image I am using for the texture is rectangular.
When importing the image for the texture, I was trying to place it by clicking on the bottom right corner of the label area and dragging up to the top right corner. But, because of the curve at the top, the top right corner is off the model so the image wasn't sticking.
Instead I just click in the middle of the area to place the texture and then right-click > texture > position.