mayton2019 абсолютно прав, скорее всего python приложение игнорирует ошибки.
Если у тебя sftp то включи
логи и сравни их с логами твоего python приложения.
Посмотри внимательно на имена файлов, которые не скопировались, что в их именах необычного, к примеру если клиент у тебя linux а сервер у тебя windows (или vfat файловая система) то файлы с одинаковыми именами но разным буквами строчные/прописные будут считаться одним и тем же файлом и перезаписываться.
Если в именах есть пробелы, то многие программисты забывают заключать файлы в двойные ковычки или экранировать опасные символы символом "\", в этом случае, если для отправки используется вызов приложения, происходит ошибка, файл не находится и не копируется. Еще в такой схеме проблемы создают файлы, имена которых начинаются на "-", если такой файл передавать в аргументы приложению относительным путем он будет распозноваться как параметр (я видел такое поведение у convert imagemagic даже с обрамление в ковычки, спасался добавлением ./ в начала имени файла).