Can I limit the discount in the product level then?
the vendor coupon give free product (he gets to choose from 3)
can I have some limitation if the customer choose one gift he can not choose again with different vendor coupon on the same cart?
No, not like that. If you know a little PHP you can use the following WooCommerce filters to allow/disallow certain coupon combinations:
woocommerce_apply_individual_use_coupon (must return an array with already applied coupons that may be kept) woocommerce_apply_with_individual_use_coupon (must return a boolean whether a coupon can be applied while there are individual use coupons in the cart)