This is the sort of things that’s been done with automation scripts since scripting was introduced. The issue I think you have is that you are coming at it from a very high end, end user interaction perspective but this is acting down at the file system level. That’s a broad generalisation, but this is why you might need to use something that gets down to that lower level.
With a shell script it can be as easy as this; for an example project in a Projects folder on ypur home directory.
mkdir "Jan 01" "Feb 02" "Mar 03" "Apr 04" "May 05" "Jun 06" "Jul 07" "Aug 08" "Sep 09" "Oct 10" "Nov 11" "Dec 12"
The issue is passing to the script where you want this to occur if you are not already futzing around in the terminal. But this post might help with that.
Here Automator is passing information to a scipt to tell the script where it is and where to run. The other tools have their own ways of passing information around.
So what to use? Well, that’s simply personal preference based on your own workflows and how you prefer to use your device. If you used this a lot I’d suggest tying it into a hotkey or if you tag a file name with something and it existed under a watched Hazel branch you could have Hazel automatically rename and build the folder structure for you.
I’d personally look to have something that I trigger, asks me for the parent folder name, creates that, and then at the same time creates the month folders.
Hope that helps.