I would like to start with some information about my background. I studied in "English medium schools" throughout my life. I put English medium in quotation marks because although books of all subjects were in English, until the eighth grade not even my English teachers spoke in English when not reading and dictating answers. Also, it was only in the eighth grade that I learnt some grammar and was able to construct my own sentences, shifted away from memorizing answers and learnt to write my own answers. I started reading from the eighth standard; since then I have read quite a lotof a lot of fiction and non-fiction.
However, I still feel my spoken English is not at the level where I want it to be even though I went to a college where the medium of instruction was actually English, by which I mean the instructors spoke in English at all times. Students were from diverse linguistic backgrounds, so English became the lingua franca and the undergraduate programme was a residential one, so I spoke in English every time I was talking to someone in college except when I was talking with my two close friends from a similar linguistic background.
Why is my spoken English not at the level where I want it to be? Is it because I actually learnt it late, when I was twelve. And by actually learnt it, I mean when I could form meaningful sentences in English, still not speak it well though. I could read and write English earlier too. Is it because I actually learnt it later than 6 years of age (critical period hypothesis)? How can I improve my spoken English now and bring it to the level of native-like competence?