There are a number of reasons you could have suggested. The larger charge on the magnesium ion will attract the chloride ions more strongly. Magnesium chloride has twice as many chloride ions to attract compared to sodium chloride. Finally, the magnesium ion is smaller than the sodium ion (it has the same number of electrons, but a larger nuclear charge). This means that the magnesium and chloride ions can approach closely where their attraction is strongest and most energy is released.