Changed the list being iterated over; we're no longer iterating over the list we're actually modifying; iterating over the original means that you skip list elements, meaning they're never considered for removal.
Added output to show what is removed and what is not along with mathematical comparisons demonstrating why.