Eu sinto que estou usando até demais esses if-else nessas soluções que eu coloco nesses fóruns, mas acho que é o que faz mais sentido:
import re
texto_testado = input("Insira o texto a ser corrigido: ").lower().strip()
palavra_sub = input("Qual palavra deseja substituir? ").lower()
palavra_adc = input("Qual a nova palavra? ").lower()
match = re.findall(palavra_sub, texto_testado)
if match:
novo_texto = re.sub(rf"\b{palavra_sub}\b", palavra_adc, texto_testado)
print(novo_texto.capitalize())
else:
print("Não existem instâncias da palavra pesquisada no texto a ser corrigido. Tente novamente.")