I program primarily because of the ever changing nature and the inherent problem solving. These two assets combined together make it always a new experience, so it never gets old.
I also enjoy helping other people, whether that is through helping them learn new technologies, or helping them find errors in their code, or even just giving them a soundboard to bounce ideas off of doesn't matter; so long as I am making their life easier, I enjoy it.