Ciò accade perché c'è almeno un elemento che resta a False nella lista (per rendertene conto, prova a fartela stampare appena entri nel while).
C'è inoltre un'imprecisione: la condizione fine == False sarà sempre falsa in quanto la lista non è vuota.
Forse volevi fare fine[i]?