Question: why did ennis punch jack?
Answer: The moment Jack told Ennis, that Aguirre wants them to go down from the mountain - Ennis got angry, I think not because of the money - he just didn' t want to leave Jack and back to the "normal" life. He punched Jack, because he didn' t know how to tell him "don't leave me, I' ll miss you..."