RMI может быть лучшим направлением, если необходимо поддержать сложное состояние.
Вы звоните
parser.add_argument('multi', action='append', nargs='+')
И он принимает все аргументы и добавляет их как один элемент в мульти-список.
Если вы хотите использовать его как отдельные элементы, просто не используйте append
parser.add_argument('multi', nargs='+')
Из документов
'append' - хранит список и добавляет значение каждого аргумента к список. Это полезно, чтобы опция была указана несколько раз. Пример использования:
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', action='append')
>>> parser.parse_args('--foo 1 --foo 2'.split())
Namespace(foo=['1', '2'])