Why are the stroke orders for 右 and 左 different?
右 starts with the vertical stroke, and 左 starts with the horizontal one.
It has to do with the stroke order of the part underneath it. For this example, I'll refer to 左 as ナ and エ, and 右 as ナ and ロ. For 左, since the first stroke of the underneath part (the エ) is horizontal, the ナ is started with the horizontal stroke. For 右, since the first stroke of the ロ is vertical, the ナ is also started vertically.
Similarly for 有 and 布. Since 月 and 巾 both start vertically, the ナ also starts vertically. Can't think of anymore off the top of my head where the ナ starts horizontally. But the rule is to look to the first stroke underneath the ナ.
Left side of those two words are different originally
There is some meaning that shorter stroke mean 手のひら "Palm", longer one is 腕 "arm".
Normally, shorter stroke which mean "手のひら" write first most of the time, so according to original kanji, 右 "Right" need to write a vertical slant stroke first and 左 "Left" need to write horizonal stroke first.
Although the modern characters are very similar, they show a remarkable difference when written in seal script. Since the short stroke representing the hand is drawn first, and the hands are on the corresponding sides of the character, the stroke drawn from the character's meaning to the opposite (e.g. from left to right on 左) is drawn first.
(Yes, I admit it. I lifted this from Tomehane. It's a must read for those interested in calligraphy.)