Тебе нужно хранить соответствие между id сообщения и объектом Member пользователя, которого нужно забанить.
Например, в словаре.
Тогда команда !ban будет помещать эти сведения в словарь (так как у неё есть доступ к ним), а on_raw_reaction_add() будет проверять наличие id сообщения в словаре.
Если такой id есть, и реакций достаточно, то принимаем решение о бане, и извлекаем объект Member по этому ключу.
Если такого id нет, то реакция была поставлена под каким-то другим сообщением, и мы его игнорируем.
Удалять id сообщения из словаря можно по таймауту - это можно реализовать прямо в обработчике команды. Запостили сообщение, добавили его id в словарь, уснули на пару минут через asyncio.sleep(), проверили наличие id в словаре. Если он там - удалили.
Реализация несложная, справишься сам. Единственный минус - если бот перезапустится в процессе голосования, то команда не сработает. Но я не думаю, что это большая проблема.