I think you can create a basic custom command which will run other commands from relevent folders. Here is an approach you can take:
First make a folder structure like this:
management/
    commands/
       folder_a/
          process_A_related_data.py
       folder_b/
          process_A_related_data.py
       process_data.py
Then inside process_data.py, update the command like this:
from django.core import management
from django.core.management.base import BaseCommand
import importlib
class Command(BaseCommand):
   help = 'Folder Process Commands'
   def add_arguments(self, parser):
       parser.add_argument('-u', '--use', type=str, nargs='?', default='folder_a.process_A_related_data')
    
   def handle(self, *args, **options):
       try:
           folder_file_module = options['use'] if options['use'].startswith('.') else '.' + options['use']
           command = importlib.import_module(folder_file_module, package='your_app.management.commands')
           management.call_command(command.Command())
       except ModuleNotFoundError:
           self.stderr.write(f"No relevent folder found: {e.name}")
Here I am using call_command method to call other managment commands.
Then run commands like this:
python manage.py process_data --use folder_a.process_A_related_data
Finally, if you want to run commands like python manage.py folder_a.process_A_related_data, then probably you need to change in manage.py. Like this:
import re
...
try:
    from django.core.management import execute_from_command_line
except ImportError as exc:
    raise ImportError(
        "Couldn't import Django. Are you sure it's installed and "
        "available on your PYTHONPATH environment variable? Did you "
        "forget to activate a virtual environment?"
    ) from exc
if re.search('folder_[a-z].*', sys.argv[-1]):
    new_arguments = sys.argv[:-1] + ['process_data','--use', sys.argv[-1]]
    execute_from_command_line(new_arguments)
else:
    execute_from_command_line(sys.argv)