On EFNet, the commands /onotice /omsg (and undocumented) /wallchops behave by sending the PRIVMSG or NOTICE command with the @ prefixed channel name; as in @#mIRC. On Freenode, it attempts to send multi-targeted individual PRIVMSG or NOTICE commands instead; as in Nick1,Nick2,Nick3,Nick4 ...

I thought these commands' behavior was based on the 005 numeric, eg /raw VERSION reply, for the value of STATUSMSG. STATUSMSG is the same for both of these networks.

EFNet:

351 ircd-ratbox-3.0.10(20160113_12-29315). irc.mzima.net :egGIKMpZ6 TS6ow 0MG
005 CHANTYPES=&# EXCEPTS INVEX CHANMODES=eIb,k,l,imnpstS CHANLIMIT=&#:60 PREFIX=(ov)@+ MAXLIST=beI:100 MODES=4 NETWORK=EFNet KNOCK STATUSMSG=@+ CALLERID=g :are supported by this server
005 SAFELIST ELIST=U CASEMAPPING=rfc1459 CHARSET=ascii NICKLEN=9 CHANNELLEN=50 TOPICLEN=160 ETRACE CPRIVMSG CNOTICE DEAF=D MONITOR=120 :are supported by this server
005 FNC ACCEPT=20 MAP TARGMAX=NAMES:1,LIST:1,KICK:1,WHOIS:1,PRIVMSG:10,NOTICE:10,ACCEPT:,MONITOR: :are supported by this server

Freenode:

351 ircd-seven-1.1.4(20170104-717fbca8dbac,charybdis-3.4-dev). rajaniemi.freenode.net :eHIKMpSZ6 TS6ow 21W
005 CHANTYPES=# EXCEPTS INVEX CHANMODES=eIbq,k,flj,CFLMPQScgimnprstz CHANLIMIT=#:120 PREFIX=(ov)@+ MAXLIST=bqeI:100 MODES=4 NETWORK=freenode STATUSMSG=@+ CALLERID=g CASEMAPPING=rfc1459 :are supported by this server
005 CHARSET=ascii NICKLEN=16 CHANNELLEN=50 TOPICLEN=390 DEAF=D FNC TARGMAX=NAMES:1,LIST:1,KICK:1,WHOIS:1,PRIVMSG:4,NOTICE:4,ACCEPT:,MONITOR: EXTBAN=$,ajrxz CLIENTVER=3.0 WHOX SAFELIST ELIST=CTU :are supported by this server
005 KNOCK CPRIVMSG CNOTICE ETRACE :are supported by this server


Well. At least I won lunch.
Good philosophy, see good in bad, I like!