You should do it.
You have to do it.
Does should show suggestion and have to show compulsion or motivation?
You are correct...
"Should" is suggestive: It's most likely also optional (e.g., "you should use an umbrella when you walk in the rain, or you might get a little bit wet"), although if it were tied to a serious consequence then the "required" sentiment would be implied (sometimes a wife will give her husband a hint in this manner, but when he hears it he may recognize that it really isn't optional).
"Have to" is a requirement: It's not optional, and any motivation may be tied to some consequence of not doing what one has to do (e.g., "you have to breath or you will not survive").
Should - it will be good if you do that. Have - it will be bad if you don't do that.
I think should implies that the person has more choice in the matter.