Here's why:
* Closed syllables have a vowel followed by one or more consonants. The vowel sound is short.
* Open syllables have a vowel at the end of the syllable. The vowel sound is long.
In "loft", the vowel "o" is at the end of the syllable. Therefore, it is an open syllable, and the "o" sound is long.