На самом деле нет разницы, таскать один jar или один zip. Проблема конкретно shadowjar в том, что он все классы зависимостей перепаковывает в одно дерево. Там возникают всякческие сложности с ресурсами, серивс лодерами, да и просто конфликтами путей. Я не знаю, чего делает бут, но подозреваю, что что-то более сложное, чем просто закидывание всего в одно дерево.
Бут пакует внутрь jar все библиотеки не распаковывая, просто папка с джарниками. И реализует свой loader, который умеет грузить классы из этих либ