Não está reclamando porque a subconsulta retorna 2 resultados, mas duas colunas. Mas mesmo que retornasse apenas uma única coluna, retornaria 2 resultados e a consulta principal faria o mesmo.
Não há necessidade de uma subconsulta em qualquer caso:
SELECT s.shopname
FROM Shopstable s
JOIN OrdersTable o ON s.shopnum=o.shopnum
GROUP BY s.shopname
ORDER BY count(*) DESC
LIMIT 1