Too late she remembered the reason for that generous gift, and how embarrassed he had been, confessing to his secret fear of windmills last year.
This is a common mistake with "time" adverbs and adjectives like "back then" and "in the past" and "on Monday." Here, the problem is that with the modifier placed at the end of the sentence, it's not clear whether he became afraid of windmills "last year," or if the embarrassed confession was last year. Why make the reader wonder, when all it takes is a bit of movement?
The modifier should be placed right next to whatever element actually happened at that time. In this sentence, the gift and embarrassment and the confession happened "last year," so the modifier can go close to either of those, whatever sounds best. So:
Too late she remembered the reason for that generous gift, and how embarrassed he had been last year, confessing to his secret fear of windmills.
We need to be sensitive to what our sentences actually say, and open to the minor fixes that make it say what we actually mean.