Moving GUI w.r.t gameobject

I have one object(stopwatch), on that object screen(digital) is there, i want to display gui text(Timer) on that screen.
I want to use that stopwatch anywhere on the screen , so i used drag option to stopwatch, but that gui text is not moving w.r.t to object(Stopwatch)

Unity has four coordinate system: GUI, viewport, screen and world. Your game object lives in world coordinates. Your GUI lives in GUI coordinates. World object are defined by their x,y,z positions. GUI coordinates are defined by x,y, width, height. So figuring out how to get the two aligned can be a pain. You can solve this problem in a couple of different ways. If your watch is 2D, you can change to using GUI.DrawTexture to draw the watch so that both the watch and the GUI.Label are in the same coordinate system. You would have to develop new drag and drop code. Or you can translate the watch position into GUI coordinates so that the label can be properly placed. If you translate, you might use an empty game object as a child of the watch as a positioning point for your GUI.Label() call. See Camera.WorldToScreenPoint() and GUIUtility to translate between world and GUI coordinates.