This is because Spine doesn't reset positions by default.
(This is to allow advanced uses, multiple animations and programmatic control).
If you want to reset everything before playing a new animation, you need to call:
skeletonAnimation.skeleton.SetToSetupPose();
or add that to AnimationState's callback.
skeletonAnimation.state.Start += delegate {
skeletonAnimation.skeleton.SetToSetupPose();
};
If you are using mixing, you can use this beta version of a modified AnimationState.cs:
https://gist.github.com/pharan/77c8ab0880c33716acb8
An official update to AnimationState is coming soon to replace this for all runtimes so you won't need to modify it then.
If you search the forums for "auto-reset", you can find other threads that discuss this topic.