Поскольку вы используете PyFilesystem, вы можете открыть файловую систему S3 и файловую систему Zip, а затем использовать copy_file для копирования между ними.
Должно работать что-то вроде следующего:
import os
from fs import open_fs
from fs.copy import copy_file
with open_fs(os.getenv('s3_sample_folder')) as s3_fs:
with open_fs('zip://zipfile.zip', create=True) as zip_fs:
for filename in file_names():
copy_file(s3_fs, filename, zip_fs, filename)