Use modules to separate responsibilities cleanly
A good module groups one area of responsibility and exposes a small public surface.
Modules reduce accidental coupling because they let you organize behavior by concern instead of leaving everything in one global file.
The biggest win is not fashion. It is that reading and testing the code becomes easier when the public API is small.