Грузить puppy из iso, это разновидность чего-то запрещенного, потому что скопировать или 1 файл iso или один каталог с системой из iso - затраты одинаковые. Загрузка из iso, пошла с давних версий виндовс в кторых boot.wim еще не было и куча файлов была, конечно такое на флешку никто не захочет тащить.
Прописывание меню на самом деле проще, это тут накручено переменных, причем необоснованно накручено. Вам же не в продакшен, ну напишите пункт запуска простыми прямыми командами, без переменных.