Помощник enable_shared_from_this содержит слабый указатель, который задается при создании общего указателя на объект. Это означает, что есть счетчик ссылок (выделенный отдельно или вместе с объектом с использованием make_shared) и дополнительный weak_ptr в объекте.
Теперь почему он просто не содержит счетчик ссылок? При установке shared_ptr из немого указателя тип должен быть полностью определен, поэтому конструктор или оператор shared_ptr может определить тип, полученный из enable_shared_from_this, и использовать правильный счетчик, и формат может оставаться неизменным, поэтому копирование не волнует. Фактически, shared_ptr уже должен обнаружить его для установки встроенного weak_ptr.