Here are some thoughts.
Logic / Clarity. I hear a lot about this perception that proofs require hyperspecialized mathese to write and interpret. While there are some special conventions about how words are used in math that are different from outside math (plus math terms themselves which do have technical definitions), my experience is that more often issues stem from failing either to understand pure logic or to simply be clear in normal-English ways.
By logic I mean propositions using terms and phrases like "for all," "there exists," "implies," "if and only if," "if / then," "and," "or," etc. and the ways such propositions can be created, combined, broken up, reshaped, and connected with each other in valid (truth-preserving) ways. If you're asked to prove X implies Y, and you start out your proof by assuming Y is true, you're simply not being logical, and that may have nothing to do with your understanding of X and Y themselves.
Plenty of errors in exposition and communication I see in proofs are actually not mathematical but linguistic, and by replacing math terms with analogous everyday terms (if possible) we can see how they basically translate to broken English, even by native English speakers who think they understand all the math terms they're using! Sometimes the issue is just not communicating enough: if you have a bunch of symbols moving around, you can off to the side explain what's going on with the symbols. If you're using certain theorems from the text or class or using the result of a previous result in a homework, or whatever, make sure you're explicit about this.
Big Picture / Small Details. Proofs involve lots of little details. If you use too little, people have too many blanks to fill in. If you use too many, unless you bake them into layers, people will get bogged down and find it hard to follow along. It's nice to organize your proof - often in explicit, visual ways - to make the big picture elements pop out the most and be easy to navigate with the naked eye, with details then attached.
A good way to do it is to chop the proof up into individual parts, or signposts. You can summarize ahead of time what's going to happen in your proof by citing the major signposts (often in papers, we call these lemmas), or you can conclude a proof with such a summary. When most mathematicians read papers, they skim through and identify the "big picture" ideas first, and then comb through the details second.
In written text I personally make heavy use of big vs. small text, underlining/bolding/boxing, left/right/center-justifying, arrows between things, etc.
Story and Meaning. Good proofs tell stories, where many quantities, expressions, and operations can be interpreted with some kind of meaning. Often proofs will choose to define or choose unexpected things, and go in all sorts of directions, and what makes this manageable as a reader is when you're told the thought process behind decisions, and given descriptions of what things are or what we're doing, "morally" speaking.
(As you practice this, you will build mental models of things in math that aren't easy to find in textbooks or told in many lectures. I think this is an unspoken psychological advantage many mathematicians develop, which disheartens outsiders who don't look farther than calling it unattainable, inscrutable genius.)
Apply Theory of Mind. There are many experiments in developmental psychology which investigate how children develop a "theory of mind," or an ability to conceive of others' minds as having their own beliefs, intentions, perceptions, etc. Neurotypical adults don't make the same kind of theory-of-mind mistakes we make in childhood, but we all have lapses, and it is a constant struggle to overcome this in any form of writing, and proof-writing is no different.
Consider what your proof looks like to someone who hasn't been thinking all of the thoughts you've been thinking up to writing it. If you start using a new letter out of nowhere, what will they think? They'll be confused. Sometimes we create blindspots in our writing that we consciously glaze over, so it can be good to leave proofs along and come back to them later.
Proofs by mathematicians for mathematicians are written and read differently than proofs by students for graders. What do you think goes through someone's mind when grading a proof? They probably have their own understanding of key ideas and will skim for them. Whenever you reason one thing follows from another, the grader will ask themselves, "is it possible someone could have misconception XYZ and still write what I see before me?" and even if you didn't have misconceptions while writing, the answer to that question may surprise you. Avoid being saying things that could be interpreted in other ways. (Sometimes the proofs I read give off the vibe of deliberate obfuscation to hide shortcomings. If so, I don't necessarily blame students for the hustle, but it makes me wary.)