ditto on small readable nodes that you can understand in 6 months.
I typically let the project determine the structure. I don't think I would ever go as far as putting every node in it's own module. I think this would make it really hard for some folks to navigate the project if they were not familiar with the project or good at navigating their text editor. I like to group nodes into small sub-pipelines where nodes naturally go together.
I try to avoid grab bag modules like utils as it is not a great description of what it does and is a good way to end up with a junk drawer filled with things that do not belong together.