Я бы попробовал:
import glob
import os
filelist = glob.glob('bot_*.py')
for f in filelist:
context = {}
exec(open(f).read(), context)
klassname = os.path.basename(f)[:-3]
klass = context[klassname]
klass().go()
Это будет запускать только классы с тем же именем, что и для модуля, что, я думаю, то, что вам нужно. Также не требуется, чтобы каталог верхнего уровня был пакетом.
Помните, что glob возвращает полный путь, включая предшествующие каталоги, поэтому используйте os.path.basename (f) [: - 3], чтобы получить имя класса.