Both are correct. They have different meanings, however.
"Wear your coat" is an imperative that says, in whatever circumstance you are describing in your context (is it raining? You didn't say.), the listener should wear a coat.
"Put on your coat" is an imperative that says take your coat off the coat rack and put it on your body.
"When you go out, you should wear your coat" works fine, but it really is talking about when you are out (or at least, stading in the doorway ready to go out).
"When you go out, you should put your coat on" describes what you should do before or as you leave the house.
Put it another way: You can wear your coat all day long. You can only put it on once (until you take it off, and then put it on again).