Ah – I just recognized, that you asked the other related question here, too.
viewtopic.php?f=4&t=11571I am not sure if that solution maybe worked so that this problem could be solved too. In case it does not here are some thoughts:
The way I use the "go to subfolder rule" is, that I have it one time as a separate rule within my overall rules of the main directory (in your case the desktop). Like this:

That subfolder rule will ONLY contain:
if its a folder
➔ then go to subfolders
Hazel will then check all the other rules, so the tag-rules I have next to the "go-into-subfolders" rule, within all the subfolders of the main directory.
What I am now suggesting is, that you do not change the way hazel is going into the folders, but when it is executing the other rules f.e. the tagging. So if you have a condition within the tag rules like: look for the file-path and check if it contains a certain name, then the rule will only tag those files of the whole subdirectory where a certain name is in its file path. That way, even though the "go into subfolders" rule applies to all folders, the tagging only happens in certain folders within the desktop. So for each tag you have to set a certain condition where it should tag.
If you then combine these with a nested "if any" condition you can tweak every "tag" rule to be executed in more then one folder, but not in all folders.
That would then look a bit like this:

I am not sure if that helps, but for me your problem seems to be solvable with hazel...