However, secondary effects (like attack/castspeed suffixes) do not carry over to the 2nd and 3rd repeat. There is no official comment on whether this is a bug or intentional.
This is intentional and flasks have worked this way for seven years.
Life and Mana recovery from flasks queue up (with higher-speed recovery effects going to the front of the queue), with the 'queued up' flask effects not ticking down until they come off the queue and becone active.
But bonus effects from the flask's mods operate on standard rules where only the strongest of each type takes effect, but all are ticking down. They are removed either when their associated flask effect ends, or when the duration of the flask has passed.
Originally they only ended when their specific flask effect did, but there was an abuse case with this behaviour where a player would have, say, curse immunity bonus on a slow mana flask, and then constantly use other mana flasks to ensure that the slower flask granting the curse immunity would stay at the back of the queue, and thus never expire (as well as spending lots of mana to prevent reaching full). So we added the additional restruction that a flask's bonus effects can't persist beyond the flask's duration. This occured in patch 0.9.12, so is definitely not new.
The only new thing here is the new mod that allows flasks to not end when the relevant resource is full - this same behaviour has always been possible provided you take damage or spend mana enough to keep from reaching full, the new mod just made it easier because you don't have to avoid the full state.