товар ожидает 2 списка. Вы передаете ему список гребней и строку, которая является списком символов . Таким образом, результатом является каждый символ строки и каждого из гребней.
Чтобы сделать эту работу ожидаемой, передайте продукту список, в котором строка - единственный элемент, который, как он знает, не разбивает строку на отдельные символы.
result = p.starmap(mword, product(combs, [str(base)]))