Boa noite Matguaraná10,
É porque em d = c.replace("d", "e") você acabou por ter duas letras e.
Em seguida converteu essas duas letras e em na letra u.
Pode fazer o seguinte:
txt = "abcdefg"
a = txt.replace("a","m")
b = a.replace("b","a")
c = b.replace("c","t")
d = c.replace("e", "u")
e = d.replace("d", "e")
f = e.replace("f", "s")
g = f.replace("g", "!")
print(g)
# Ou então pode usar um código com o laço for e variáveis de alimentação:
txt = "abcedfg"
txt2 = "Mateus!"
cont = 0
while cont < len(txt):
txt = txt.replace(txt[cont], txt2[cont],-1 )
cont += 1
print(txt)
# Novamente o problema dos dois "e" se repetiria. Mas corrigi trocando o "e"! e o "d" de lugar em "txt".