The script is correct. Can you share the contents of /etc/iface_list as well as the output of uci show network | grep auto ?
You script executed fine for me and returned the value of auto for each interface that had it set. For all other interfaces an error was returned: uci: Entry not found.
Your /etc/iface_list file contains Windows newlines (\r\n) while Linux uses just line feeds (\n) as EOL designation.
This causes each word in your for loop to contain a trailing, invisible \r so you're not actually querying network.bond0.auto but network.bond0\r.auto which causes $var to be always empty.
Solution: convert your /etc/iface_list file to UNIX line endings.