No se queja porque la subconsulta devuelve 2 resultados pero dos columnas. Pero incluso si solo devolviera una sola columna, devolvería 2 resultados y la consulta principal haría lo mismo.
No es necesario realizar una subconsulta en ningún 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