Non continuo a ribattere la
mia teoria sul fatto che sia readonly, è così.
FileList non permette di modificare la sua struttura nel momento in cui viene creata. Non puoi scegliere di rimuovere un elemento, non puoi scegliere di modificare un elemento. Tutto ciò che puoi fare è sostituire i vecchi dati con dei dati nuovi.
Tra l'altro, dovresti cercare di separare frontend da backend. FileList non ti permette di salvare niente, tu stai semplicemente indicando di voler caricare X file fornendo all'interfaccia i dati inerenti, a tutti gli effetti non stai ancora salvando niente.
Vedi: https://jsfiddle.net/DanieleFI/95d7wxo8/63/
Ho riscritto solo quella parte da 0, partendo dal tuo ci metterei molto più tempo perché è leggermente confuso (per me).
Puoi partire da qui e prendere spunto
P.S. non sto usando jQuery ma Vanilla JS.