Очень хороший вопрос, прямо классика, но он относится не к моему предложению "вынести вьюхи и тесты в папку модуля" а к разделению на модули в принципе.
Ответ на этот вопрос давали много раз и нужно писать много текста чтобы полностью объяснить, но если в кратко и в двух словах, то:
1. Да, в тех модулях что используют юзера, везде нужна будет модель юзера, в каждом модуле будет класс юзера. Только так можно обеспечить независимость модуля.
2. В хорошо структурированном приложении модули отделены не только по коду, но и по данным. Это означает, что у каждого модуля работающего с пользователями, если ему требуется хоть что-то кроме ID, будет своя табличка для пользователей с нужными только этому модулю полями, и управление этой табличкой лежит в ответственности этого модуля.