You need to "prune" node_modules directories from the search once they have been found:
find . -name 'node_modules' -prune
Example:
$ mkdir foo/{a,a/b,a/b/c,}/node_modules/{a,a/b,a/b/c,}/node_modules/ -p; cd foo $ find . -name 'node_modules' ./a/b/c/node_modules ./a/b/c/node_modules/a/b/c/node_modules ./a/b/c/node_modules/a/b/node_modules ./a/b/c/node_modules/a/node_modules ./a/b/c/node_modules/node_modules ./a/b/node_modules ./a/b/node_modules/a/b/c/node_modules ./a/b/node_modules/a/b/node_modules ./a/b/node_modules/a/node_modules ./a/b/node_modules/node_modules ./a/node_modules ./a/node_modules/a/b/c/node_modules ./a/node_modules/a/b/node_modules ./a/node_modules/a/node_modules ./a/node_modules/node_modules ./node_modules ./node_modules/a/b/c/node_modules ./node_modules/a/b/node_modules ./node_modules/a/node_modules ./node_modules/node_modules $ find . -name 'node_modules' -prune ./a/b/c/node_modules ./a/b/node_modules ./a/node_modules ./node_modules