Код в вашем вопросе работает?Если это так, то, вероятно, проще всего просто открыть zip-файл при добавлении других потоков:
using (ZipFile zip = ZipFile.Read(ExistingZipFile))
Затем используйте тот же код, что и в вашем вопросе, чтобы добавить новый файл, а затем сохраните его с помощью:
zip.Save();
Вы можете добавлять и удалять файлы в существующий zip-архив по желанию.Если вы создаете все потоки одним и тем же методом, также можно просто добавить данные из нескольких потоков перед тем, как закрыть файл, то есть добавить несколько операторов zip.AddEntry друг за другом.