Gerenciando Grupos no pygame

Estou criando um jogo onde quando você mata uma multidão, mais duas aparecem. Eu tenho isso assim quando você mata uma multidão, os outros dois aparecem, mas apenas um permanece visível e se comporta como deveria. O outro apenas aparece e depois desaparece. Como posso fazer isso para que ambos se comportem como deveriam? Aqui está o que eu tenho até agora:

[Classe MOB]

class MOB(pygame.sprite.Sprite):
    def __init__(self, location):
        self.pos = [0,0]
        self.image = ENEMY
        pygame.sprite.Sprite.__init__(self)
        self.rect = self.image.get_rect()
        self.rect.left, self.rect.top = location
        self.rect.right, self.rect.bottom = location
        self.rect.center = location
        self.speed = random
        self.hp = 4
    def update(self):
         if self.hp == 0:
            mobs.add(self)
            self.image = ENEMY
            self.pos = [0,0]
            self.hp = 4
    def moveH(self):
        if self.rect.centerx >= Player.rect.centerx:
            self.rect.left = self.rect.left - 4
        elif self.rect.centerx <= Player.rect.centerx:
            self.rect.left = self.rect.left + 4

        def moveV(self):
        if self.rect.centery <= Player.rect.centery:
            self.rect.top = self.rect.top + 4
        if self.rect.centery >= Player.rect.centery:
            self.rect.top = self.rect.top - 4

[Adicionando e removendo no loop principal]

for Mob in mobs:
    if Mob.hp == 0:
        score = score + 1
        Mob.kill()
        new_mobs = MOB([50, 50]), MOB([60, 300])
        mobs.add(*new_mobs)

[Redesenhando e movendo no loop principal]

for Mob in mobs:
    Mob.moveV()
    Mob.moveH()
    screen.blit(Mob.image, Mob.rect)

questionAnswers(2)

yourAnswerToTheQuestion