So you're not allowed to use 40 Mbps on one link while using zero on the other, correct? If not correct, provide one path a better routing metric so that all your traffic uses it, but if it fails, then all the traffic would shift to your second path (and back if failed path is restored).
If correct, i.e. you really want to use both paths at 20 Mbps each, assuming both are "up", for that, what might be done (much more complicated) is shape each path for 20 Mbps, and monitor links with EEM. If one path fails, have EEM script increase shaping limit, to 40 Mbps, on remaining path. If failed path returns, have EEM script reset shaper to 20 Mbps.