Потому что во втором примере у вас нет постоянного выражения. Компилятор говорит вам, что он не допускает такого преобразования в неконстантном выражении.
Следующие работы:
constexpr const long double myConst{ 3.14 };
float f{ myConst };
Кстати, кажется, вы используете clang. gcc компилирует оба ваших примера, но с предупреждением во втором случае, в то время как MSVC ++ вызывает ошибку во всех случаях.