Для тех, кто придет сюда из Google за решением: у меня проблема была в том, что в put я не передавал сам файл (в документации к yandex disk об этом явно не говорится). в случает python нужно так:
files = {"file": open(f"{file_path}/{file_name}", "rb")}
put_response = requests.put(disk_put_url...