this is where a temporary debug message can help. It can verify whether the event is triggered or not, or whether it's triggered but not doing the correct thing. Try adding 2 echo lines to make it look like this:
on @*:text:!open:#: {
  echo -s $scriptline nick $nick (1-) $1-
  if ($istok(aribun21 aribun21 aribun21,$nick,32)) return
  echo -s $scriptline nick $nick (1-) $1-
  if (%list.status != closed) { msg $chan The list is already open | return }
  unset %list.status
  msg $chan OK $chan the list is now open!

If you see the 1st echo but not the 2nd, that tells you that the $istok line did it's job of ignoring the !open attempt. If you see neither, then something prevents the event from triggering. 1 reasons could be that you're typing it from the same mirc where the script is running, and the TEXT event sees everyone else's channel messages except your own. A 2nd reason is that the @ prefix makes this event only see things typed by an @op, so if you're not showing the channel the @op status then it won't see you. Another reason for an event not being seen, is the fact that each text message can only trigger 1 TEXT event in channel. So if there's an event earlier in the same script which has :*: instead of :!open: the first event is triggered by 100% of messages, and the lower TEXT event cannot be triggered by anything unless one of them is moved to a different script.

Another reason for a script not being triggered are color codes not visible as text. So if someone uses a color code to display !open as red, it doesn't trigger because the message is actually InvisibleColorCodes!open