I had a professor who once said, "you can't really call yourself a programmer until you understand recursion."
That was, at least, his minimum requirement, though I'm guessing he'd expect a programmer to know other concepts as well.
So, are you a coder? Well, are you a problem solver? Can you analyze a problem, break it down into smaller, logical sub-problems?
If you can go from high-level business or functional specs to pseudo-code, you're more than halfway to being a programmer (or coder, or whatever term you prefer).
The next question then is: how well can you turn that pseudo-code into reality? And that's really just asking how well you know a language or programming environment.
Granted, knowing a language well is a very real part of being a programmer, but once you've gotten everything else down, learning a language or two or three is likely to be the least difficult part of your experience.
That's why many programming courses teach you concepts before actual programming (or sometimes both at the same time).
It sounds like you're on a good path, just be careful not to pick up any bad habits. Want to get better? Build things! Think of ideas, or look around online, and bulk up your portfolio; you'll get better as you go, and before you know it, you'll have some serious muscle to show off when you look for freelance work or a job.