I don't think you can queue up avisor messages. You will only see the last one. If you can't combine them into a single monitor, there are a couple other approaches you could try:
1) Create some fake traits with no effects and use trait gained notification system. Of course, there is a chance player might not see them if they don't know to check there.
2) Instead of doing advance_advice_thread directly in the monitor, just set a counter there, then modify the loop at the end of the script to check for that particular counter, i.e.
Code:
while I_TurnNumber < 9999
if not I_AdvisorVisible
if I_CompareCounter ShowMessage1 = 1
advance_advice_thread Thread1
set_counter ShowMessage1 0
end_if
if I_CompareCounter ShowMessage2 = 1
advance_advice_thread Thread2
set_counter ShowMessage2 0
end_if
; etc
end_if
end_while
edit: of course method 2 implies that you don't use 4-turns-per-year script or similar logic that would prevent you from immediately getting to that loop.