Una volta che hai cambiato i nomi degli input (e spostato <form> e l'input hidden), nella pagina preferenze_salva.php se metti all'inizio un print_r($_POST['data']) dovresti vedere l'array dei voti. dovrebbe essere qualcosa del tipo

codice:
data=>array()
     [17] => array()
               [num_cand] => ...
               [candidato] => ...
               [voti] => ...
     [23] => array()
               [num_cand] => ...
               [candidato] => ...
               [voti] => ...
     ...
Di conseguenza devi cambiare lo script per leggere questo array e salvarlo