If for example Alice sends Bob the new commitment transaction only if he sends her a secret for penalization transaction activation, and she lies
The secret is sent in response to the new commitment, not the other way around. The new commitment is committed to first
before the previous commitment is revoked. Otherwise you run into this issue. There is nothing that prevents this except for the fact that the protocol specifies that commitments must be sent first. So compliant software will wait for the commitment to be sent before they send the secret.