You're right, but from @htdvisser's new Duty Cycle Wiki page:
As a per-channel duty cycle limit is easier to implement, you can also divide the sub-band duty cycle over the number of channels in that sub-band. So for example, in a sub-band with 8 channels and a duty cycle of 1%, each channel has a duty cycle of 1/8% (that's 0.125%).
This method is also implemented by the RN2483 module, and as a result, instead of seeing the
no_free_ch when you send too quickly after the first message you can send multiple messages before all 8 channels are "blocked" and the duty cycle is enforced.
The figure below shows enforcement on those same two bands, but enforced per channel
(Read the whole page to understand that image; Channel 1 is in one band and Channel 2 and 3 share another band.)