import re
tests = ['we:aanyoh', 'hiru:atghigu', 'yo:ubeki', 'yo:ubekiki', 'yo:ubek']
for word in tests:
    s = re.sub(
        '([^aeiou]*[aeiou][^aeiou]*):((?:[^aeiou]*[aeiou]){3}[^aeiou]*)$',
        '\\1\\2', word)
print('{} > {}'.format(word, s))
Python RegEx с использованием re.sub с несколькими шаблонами