Hey, the biggest mark for me you mentioning flat serves but not slice serves - have you developed any kind of spin serve?
I suggest following this sequence:
1. Check your serving grip, make it
strong continental for serving
2. Using this grip, practice hitting sidespin serves - staying sideways, swinging diagonally towards the net post, making the ball go over to your left (if you are righty)
3. Get comfortable with sending the ball with spin, making it curve in the air, and gain control over the speed/spin ratio
4. Check your grip to be strong conti! Ensure you send the ball a bit to the left of where your torso faces, not opening too early!
5. Start adjusting your toss - to be more over your head than to the right; consequently, your swing becomes more up from below the ball (but still towards the side more than up and forward!); visualize the ball to go up and then curve left+down rather than forward

6. If most your mistakes are long, but you get the curve and high net clearance, it’s very good just toss a bit more inside the court, but leave everything else same - stay sideways, swing to the side
from below the ball, send the ball over your left shoulder
* hotfix tip if there’s not enough curve even with good toss: let the ball drop a bit more, do not stretch for max height (but I don’t include it to main block until I see how you try it, it’s relevant for some, not so much for the other)
PS here from 7:30 you can look at progression to develop spin serve from scratch - to get basic feel for ball-spinning swing and contact with conti grip, which is important on you journey towards solid kick serve