Потому что removeEventListener должен вызываться с указателем на ту функцию от которой ты хочешь отписаться в качестве второго аргумента (указывать должны на один и тот же объект в памяти), а у тебя он вызывается с двумя абсолютно разными функциями (одинаковый код в функциях это не тоже самое что указатель на один и тот же объект в памяти).
https://developer.mozilla.org/en-US/docs/Web/API/E...
Это событие отписывается не от всех слушателей, а от одного конкретного, указатель на который ты передашь в аргумент.
Грубо говоря, сначала регистрируешь функцию, которая будет слушателем, а потом одну и туже функцию используешь и в addEvent и в remove