V了₁ rides on the verb and marks the act completed; 了₂ sits at the sentence's end and marks a new situation now holding. Verb-back completion vs sentence-end change.
V了₁ reports one act carried through this time; 過 reports the act has happened at least once before, ever. One realized event vs ever-experienced.
了 at the wrong slot: 我昨天買很多書了 → 我昨天買了很多書
negated with 了: 我沒買了書 → 我沒買書
bare object left hanging: 我吃了飯 (as full reply) → 我吃了飯就走 / 我吃飯了
English speakers map 了 onto past tense and stamp it on every past verb; 了 marks completion of one bounded act, not time, and drops under negation with 沒.