Senza l'indentazione corretta è difficile che funzioni.
add = num1 = input("First number you want to add: ")
Che senso ha?
#doesn't work and I don't know why.
if answer == "add":
add
if answer == "multiply":
mul
else:
print("You didn't write anything!")
Che senso ha (a parte che non è indentato, ma vabbè)? Essendo 'add' una varialbile (uguale a 'num2'), è logico che non faccia niente... Poi da lì in avanti non ci sono istruzioni significative fino a
#works normally
the_result()
final_numbers()
congratulations()