The Mindset For Speaking a Non-Native Language (English, in this case)
One of the reasons we struggle with speaking a language different from our native tongue is simply that we don't sound like ourselves. The sounds, sound patterns, and music of our first language have shaped our perceptions of the world. We come to associate our speaking patterns with our identities. It feels phony and unnatural to produce strange articulations and melodic intonations different from the ones so deeply ingrained within us.
Let's start with this approach: We all have multiple identities-you may identify yourself as a mother, a sister, a friend, a professional, an amateur Bridge player, whatever... we act different--and sound different, based upon which "role" we are playing at any given time.
Ask yourself--Do you have an identity that supports your English?
Here's an idea for you: Take on the identity of an American when you practice the language. A native doesn't have any doubts about their abilities with the language, because they feel they own the language. The language is a part of them, not something outside of them. Become the character you are playing. Good actors convince themselves that they are in fact their roles while they rehearse and perform the show.
The more you believe you are a native, the more you will think, speak, and sound like a native speaker.
Watch and listen to Youtube clips-with good earphones on, of real people, actors, or characters you like; ones you wouldn't mind sounding like. Mimic what they say and how they say it. Repeat the clip and imitate it until you've got every sound and subtle inflection down; at the phrase level, sentence level... Record yourself and listen with focused attention. What is different in your production from the speaker's? Keep trying, tweaking, until you've got it down perfect.
Now say a few more sentences of your own in English in the same manner. You're using different muscles and establishing new sound production patterns, and hearing yourself sound a way that does not sound like you--at first. This is a means to an end. Obviously, your goal is not to take on the exact communication style of the speaker you're listening to, but to find the feeling and sound of the language as a start to making it your own.
Speak with the belief "My English is perfect." Beliefs have a way of acting as self-fulfilling prophecies. The thoughts you repeat and consistently hold in your mind eventually manifest into your reality. The other option is to replay doubts, like "English is hard; I'm not very good at English; I make too many mistakes; people are judging me..." Whether some of these things are true or not is irrelevant. Which is more supportive and effective in making you better with the language: doubt or confidence?
It's not necessary to be perfect. The point is that the more you pretend you are in fact a native English speaker, the faster your English will improve. It takes guts to speak with people and not sound like your "self" at first. Don't take it all so seriously. Have fun with it. It will make you wonder how many roles you can play! Roles that are all within and part of you.
As long as you are constantly challenging yourself and working on improving your abilities with the language, speaking with people, and speaking to yourself!, you will keep improving.