Your UI should be separate from the game models, even if they're 2D. One UIRoot is normal and is expected. The widget underneath it can still be anchored to something not a part of your UI. Why are you getting a second one? What is it you're actually doing? All you need is:
1. ALT+SHIFT+L to add a label.
2. Set it to be anchored to some target object.
Although a better approach is to make an invisible widget instead (ALT+SHIFT+W), anchor that to your target object, and the label can be added as a child so that you can offset it as needed.