I don't understand the question What's moving? Why is it moving? If something is anchored, you can't move it via code.
Your anchor coordinates are odd... top and bottom are both negative for some reason, and right and left are both positive? This causes the anchored widget to be outside the target's bounds.
Furthermore, why do you keep doing GetComponent<UISprite>() every time? Why don't you cache this reference like so:
UISprite sp = PrefabSpawnButton.GetComponent<UISprite>();
sp.topAnchor.target = TargetPanel.transform;
sp.bottomAnchor.target = TargetPanel.transform;
...