You can apply some xquery to grab the Module Names and then count them with a GROUP BY
:
SELECT ModuleName, COUNT(*) AS NumOccurrences
FROM
(
SELECT
Nodes.node.value('(ModuleName)[1]', 'varchar(50)') AS ModuleName
FROM
Modules m
cross apply m.Params.nodes('//Module') as Nodes(node)
) x
GROUP BY ModuleName;
(Unfortunately, we can't group directly on xml, hence the need for the derived table)