How can I apply multiple discount types using one code?
There are two aerocargo modules that can be used to achieve this behaviour:
aerocargo/discount-groups
This module allows you to create a discount group with a code and specify the discounts you want to be applied when that code is applied to the cart.
So you can create a group that adds a 20% off discount & a free shipping discount, while maintaining the flexibility of both being able to be added separately.
aerocargo/connected-discounts
This module allows you to connect a discount to another one via the discount edit page. Then when a code that has any connected discounts is applied, all connected discounts will also be applied.
So you can connect a free shipping discount to a 20% off discount, meaning when the 20% off discount is added so is free shipping.
Unless you also connect the 20% off discount to the free shipping as well, it wont work both ways.