The key differences here between Moash and Dalinar (and this actually ties into Amaram), is the will to do better. Dalinar actively feels better and tries to atone for what he did, he takes the next step. Amaram, I personally feel, doesn’t think he did anything wrong, and so he didn’t step forward or back. He stood still. Moash, on the other hand, enjoyed killing Elhokar and being a merciless assassin. He is running backwards. He doesn’t want to do better, he is fine working for Odium and doing his dirty work.