кароч чтоб не загружать в РАМ сразу весь файл питон пользуется дескрипторами. по сути это указатель на текущую позицию в файле. то есть сначала у тебя файл пустой, позиция 0. потом начинается закачка, скачивается chunk_size байт, позиция в файле перемещается на столько же байт. и так ты по кусочкам скачиваешь доконца.
если ты попробуешь прочитать этот стрим то тебе вернет пустоту, ибо указатель файла находится в конце, а считывается все что после указателя
сик перещает указатель в самой начало