The Distributorless 2.3l system does fire both spark plugs at the same time.
Both spark plugs fire on compression stroke and both fire on exhaust stroke, it doesn't alternate.
Each coil pack for the 2.3l distributorless system only has 2 coils inside, each coil is connected to 2 spark plugs, wired in series.
When computer/module fires a coil both cylinders get spark
Both coil packs are wire with 1 and 4 on one coil and 2 and 3 on the other coil.
So 1 and 4 both get spark every time they are at TDC, same for 2 and 3
One heads up on the distributorless 2.3l/2.5l Lima engines, only the Exhaust side spark plugs/coil is working when starter motor is engaged, intake side doesn't start sparking until engine starts, RPMs above 400
Waste spark was the first spark system ever used, magneto spark system is waste spark, it sparks cylinder at each TDC, compression and exhaust.
Your gas lawn mower is waste spark.
It is simply easier to use the crank timing to time spark than using cam timing on smaller engines.
With Multi-cylinder using a distributor became simpler, but when you eliminate the distributor the "waste spark" becomes simpler again.
4cyl, 6cyl, V6 and V8(V10 or V12 as well) all use Matched Pairs of pistons and rods to balance the engine/crank.
This means 2 pistons will be at top dead center(TDC) at the same time, the Matched Pair, because it is a 4-stroke engine one cylinder/piston will be on compression stroke and the other on exhaust stroke.
You can spark both cylinders at that time, the one on compression stroke will power the engine, the one on exhaust stroke won't but also doesn't hurt anything either.
So sparking both Matched Pairs at TDC can be done with just crank timing, using the CKP(crank position) sensor.
If you look at the firing order of any engine you can see the Matched Pairs
2.3l is 1-3-4-2
Split it in half and put one half below the other
1-3-
4-2
1 and 4 are matched pair
2 and 3 are matched pair
And if you look at the coil pack wiring you will see that pairing, on both coil packs
V6 is 1-4-2-5-3-6
1-4-2-
5-3-6
So we have 1-5, 3-4, 2-6 as the matched pairs
V8 is 1-5-4-2-6-3-7-8
1-5-4-2-
6-3-7-8
1-6, 3-5, 4-7, 2-8 are matched pairs
Any matched pairs can both get spark at TDC, compression or exhaust stroke doesn't matter