Потому что в модели всё смешали: здесь фасады для вызова типо как через статику, здесь query builder для запросов, здесь коллекции для работы с одной или пачкой записей, здесь сама модель с аттрибутами-метаторами-слушателями. И для сброса состояний часто используется пересоздание объекст в стиле return new static;
Конструктор создаёт Model, а коллекцию возвращают файндеры вроде all, find, first. Вам нужен метод newCollection, и в нём дёргать свою колекцию с перекрытым конструктуром, при этом не забыв в начале дёрнуть родительский конструктор.