Requiring it to be all or nothing makes the feature useless (not cost effective) for merchants with a low fraud rates.
The entire point behind insurance is to have enough volume so that the small % when they need to pay up won't affect the business.
The point of insurance is to transfer* risk to the insurer. The insurer does that by identifying a group that is homogenous enough that their premiums are just slightly over the payouts.
So an insurer can improve competitiveness by selling multiple products that cover different risk groups. I imagine that for Stripe, the risk variance falls in a fairy narrow band: bounded at the low end by not being worth insuring, and bounded at the high end by merchants losing their account.
* As opposed to say retaining risk, e.g. you don't buy collision on a beater.