Regarding the clean coding patterns and teaching them early, I agree it's not that important to teach specific clean coding styles and techniques early, but I do think it's important to understand that code is meant to communicate with people, especially your future self.
Also, the point about the reason makes me feel a bit weird, because I didn't have a particular reason to get into programming. I originally got into it by making silly little games, and now I just enjoy it as a problem solving tool.
Yes, indicating that code needs to communicate with people is a good lesson to learn.
As to the reason, I'm really not certain anymore. I think if you have a reason it's good, but I think making something fun is a good enough reason. If you're having fun, then you probably don't need a reason at all -- I don't think I did when I started either to be honest.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.