Why is 'u' in "study" short if the 'u' in "student" is long? Both come from Latin "studere", right? In Latin, the 'u' in "studere" is short.
It's most likely because the verb study was borrowed earlier than the noun student.
The Oxford English Dictionary says that study may in part be from an Old English borrowing from Latin. Old English, like Latin, had vowel length, and so it would be expected to adopt Latin short u as an Old English short u sound (which then would undergo the same changes as other instances of short u).
Another possible contributing source to study is Old French (e)studier. Old French had lost vowel length, and its vowels could be taken into Middle English as short or long vowels.
The form student, per the Oxford English Dictionary, is from "post-classical Latin student-, studens person engaged in study (frequently from 1231 in British sources; also in continental sources)". The earliest spellings ending in -dent (as opposed to -dient/-dyent/-diaunt etc., which the OED treats as older variants of the same word) appear to occur in the 1400s, based on the OED's citations. The pronunciation of u as the "long u" sound is consistent with what Wikipedia calls the "Traditional English pronunciation of Latin". That pronunciation doesn't follow Latin vowel quantities at all, except indirectly in that they affected the position of stress in Latin words of more than two syllables.