Cuando usás del(mi_lista[i]) no eliminás el elemento i de la lista, si no que estás eliminando el primer elemento que sea igual a mi_lista[i].
Si querés eliminar un elemento de una lista poder usar una de las siguientes opciones:
mi_lista.pop(i)
mi_lista = mi_lista[:i] + mi_lista[i+1:]
Si querés eliminar un elemento de una lista poder usar una de las siguientes opciones:
mi_lista.pop(i)
mi_lista = mi_lista[:i] + mi_lista[i+1:]