Isso ocorre porque você está sobrescrevendo continuamente o valor de backup_files
, portanto, apenas o último é o que está armazenado na variável.
Você precisa criar um array e fazer um loop em cada item no array.
dest="/home/wyzer/Downloads/Scripts/Test_Folder"
#The line below will store multiple folders in an array (files)
files=( "/folder1" "/folder2" "/home/username/anotherfolder" )
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-TEST-$day.tgz"
for i in "${files[@]}" # For every line in FILES
do # Do the following, starting with the first one:
# Print start status message.
echo "Backing up $i to $dest/$archive_file" # Here, $i will be the first directory
date
echo
# Backup the files using tar.
tar czf $dest/$archive_file $i # Again, $i is the directory
done # Stop here and do the loop again with the next item in FILES
# Print end status message.
echo
echo "Backup finished"