Short of asking a coach, I have noodled up the possible reasons.
1. overall roster limited because of title IX proportionality restraints imposed by administration. [possible, but if this were the case it would be hard to hire a good coach]
2. roster limited because of operating budget constraints. (Every extra two kids you take on spring trips and overnight trips costs a hotel room and meals. Plus uniforms, etc. Also would be hard to hire a good coach.)
3. Scholarships limited and school is unable/uninterested in filling the empty spots with the walk-on talent actually available to walk-on as opposed to being recruited.
4. School/coach is handicapped in recruiting walk-ons (non-scholarship athletes) by a combination of admissions restrictions and the cost of attendance.
I'm thinking it is probably a combination. Northwestern is private, and highly selective, so anyone who walks on there has to be admittable and either pay the freight or qualify for need-based aid. That limits your group that you could select from (not to mention being worth having on the team). Also, if you're good enough to have the coach interested in your walking on, you might get a more aggressive recruitment somewhere else....at least where you felt more wanted.
If you are a coach at, for example, Michigan State, and your program is not fully funded in scholarships, at least there is the in-state tuition option which would give you a decent number of walk on candidates from your own state. If you are a private school, with their tuition levels, recruiting your walk-ons is not going to be nearly as easy.
Its hard to figure out, because there are many other schools which are private and which don't have the full 11.7, but they still have a full roster. Some are in the same ballpark as Northwestern regarding selectivity and costs. Such as Georgetown and Duke.
Is it really possible that anyone wants to actually keep the roster small?---other than for external reasons?