Если глянуть в ElementTree.__getitem_(self, index), то можно заметить что с каждой итерацией item в params передается index: первая итерация 0, вторая — 1и дт
def __getitem__(self, index ):
return self._children[index]
Но, вы удаляете элементы из param, следовательно:
при первой итерации у вас первый item, который удалится
при второй item (который был третим), который удаляется
выходим из цикла
Итого у Вас остаются в params два item