Mojo has both Python's def and its own fn -- two different flavors of functions. That alone isn't "cleaner". fn is there for high performance -- it's like Rust added to Python. Mojo is still missing Python functionality because it's early in development, so by that measure it's also not a "cleaner Python" ... and the parts that will never be added are because of performance, not cleanliness. Mojo has never been advertised as a cleaner Python so I don't know what vibes you're going on.
This might be helpful: https://mojolang.org/docs/manual/python-to-mojo/