There are a number of concerns here. You probably shouldn't go to college for signalling, you'll bore yourself to death and do poorly (unless you have extremely good discipline).
On the other hand, going to college is likely to be both intellectually stimulating and fun. That would appeal to most people and it's not really an opportunity that comes back. Depending on circumstances, you might well be able to keep up freelance programming for money while you're in college which will take away financial concerns and keep you in practice.
Then there's the reliability of your self assessment. Quite frankly, agency web dev in PHP is not a great predictor of actual programming prowess - you can get very, very far in that business using Google and copy-paste. The way you lump ASM in there adds a good WTF-quality to the list, and, honestly, how do you know that you have a "good grasp of most aspects of computer science", never mind, how good is good and how many are most? Think hard about this, and especially about think about unknown unknowns here. When I first "got" QuickSort and understood why trees usually have log n characteristics, I figured myself pretty well sorted. I've since realised just how little of the tip of the iceberg I've actually ever even scratched.
College will, if nothing else, help you draw an outline of the iceberg, so you can better assess how much of it you've actually seen.
The way I read your post, you might well be in a sweet spot for just coding the shit out of everything for the next five years and doing better than your college peers. Most college grads can't actually code well. Or you might be the kind of guy who wakes up one day and realise you don't have ten years of experience, but one year of experience ten times over.
Amen. I do a lot of recruiting and one of the signs that a candidate is high quality is when they know what they don't know.
It's rare for someone without a degree to get the kinds of jobs that exposes them to the kinds of engineering challenges that makes for "10 years experience" as opposed to "1 year experience 10 times over". I'm not saying it doesn't happen -- just that in my experience, it's rare.
Also, having a college degree shows a certain minimum ability to start something and finish it. The more challenging that degree program was, the more important that factor is. A 'degree' from DeVry or Phoenix doesn't count (I'd actually talk to the guy without a degree first...).