You need to add another UV layer and unwrap top view just faces you need. Thats left from Material panel icon, triangle. Look for UV layers, click +.
On Textures panel assign image to newly created uv layer from Mapping dropdown.
My apologies for not using correct terms… You got there already, anyways.
Choose material for the top, make a new uv map (+), select top mesh part in edit mode top view, open ring pull texture image and unwrap from view, scale, positon. Now your model is using 2 materials with separate uv maps.