Here's why:
* "Mar" has the short "a" sound, similar to the "a" in "cat" or "hat".
* "I" in the second syllable is a long vowel, but it's not part of the first syllable.
So, even though "marigold" has a long "i" sound, the first syllable has a short "a" sound, making it a short vowel.