Sounds like you can follow a tune, but your singing is flat and strained. It can be difficult for many people to hear their own
voice in the correct pitch while singing. What you're hearing in your head isn't what's being recorded, or heard by others.
You have to learn to match correct notes with what you're hearing in your head. In an odd way, it's somewhat like
having to transpose from one key to another on an instrument.
What you need is a vocal coach - vocal/singing lessons to further develop what you've already got.
It means work and some dedication, but it will pay great dividends.