Я не работал с Flask и не знаю деталей реализации конкретно ваших приложений, так что в моем ответе скорее общие размышления по теме, чем конкретные рекомендации.
Есть замечательный принцип DRY (Don’t repeat yourself).
В соответствии с ним я бы выделил общие или минимально различающиеся части ваших проектов в одно отдельное приложение, например base_crm и подключал бы его в каждом из проектов.
А уже в самих проектах дописывал, наследовал и переопределял только специфичные для конкретного проекта части.
Конечно при сильном изменении логики в base_crm придется менять и код проектов где она используется, но при этом не понадобится дублировать код. А при необходимости дублирования стоит подумать, нет ли смысла вынести такой код в базовую часть.