A temporal clause like "after I'm gone" is much more likely to be taken as a clause modifier (or verb phrase modifier) than a noun phrase modifier.
So "I left you a present after I'm gone"
would parse syntactically as
I [left [you] [a present] [after I'm gone]]
I [left [you] [a present [after I'm gone]]]
But "after I'm gone" is future in meaning, and inconsistent with "I left", which is past. So that sentence is not grammatical (or not interpretable).
The "for" attaches the temporal phrase to the object noun phrase:
I [left [you] [a present [for [after I'm gone]]].
Note that in this construction, "after I'm gone" must be syntactically a NP, since it follows a preposition. This is not unique: "Wait until after I'm gone" is another exmample.
I'm not completely sure why "after I'm gone" can't be parsed as a modifier on the NP, as other examples are fine, such as "the meeting on Thursday". I think it may be because in "the meeting on Thursday", 'on Thursday' is restricting or defining the meeting, whereas here it would be non-restrictive. But I'm not certain that that is the explanation.