Проблема здесь в том, что вместо того, чтобы открывать zip-файл и извлекать файл, как вы это делаете в графическом интерфейсе, вы фактически открываете и считываете содержимое файла в формат класса io.BufferedIOBase.
Если вы планируете использовать один из файлов внутри zip-файла, вам нужно либо извлечь его, либо создать новый файл из содержимого, которое вы прочитали в свою переменную.Я бы предпочел первый вариант:
myzip = zipfile.ZipFile('spam.zip')
path_to_extracted_file = myzip.extract('eggs.txt')
Тогда вы можете передать path_to_extracted_file в FileResponse.Это сохранит ваш оригинальный zip-файл без изменений.