I think both points here are technically valid, but the issue is more about clarity than correctness.
“They do not need to be enabled” makes sense from an implementation perspective (they’re already included and active), but when reading it in a UI, it can feel contradictory next to “cannot be disabled”.
The sentence is doing too much and leaves room for interpretation.
Something simpler like:
“They are enabled by default and cannot be disabled.”
or
“These extensions are built into your PHP version and are always enabled.”
would likely avoid the confusion.