Hi
The code should work with a small correction I think the problem is that the second coupon is not valid and is therfore ending the transaction can you check , over ride claimCouponMethod in CouponFormHandler and write your own logic , you can obtain the coupons entered by the user and split them based on your delimiter.

Also after you apply each coupon to the order by invoking claimCoupon method in ClaimableManager , do remember to reprice the oder and also update the order within a transaction block.
You can also add the coupons which were not applied on the order ( may be due to conditions not matching , or non elgibility ) by checking the promodiscount amount on the order by iterating the commerce items (by getting the information from adjustments ).