OK, that is great Tyson!
Yeah, I usually work with feature classes too rather than shapefiles...but keep in mind, you will probably need to change your 'filter' query on the cursor to IS NOT NULL, that or simply do not include in the spatial join output ALL RECORDS - I think there's an option for excluding polys with no point to join. Just get the filter right and you won't have to worry about it.
If you're confident you can continue on your own, and satisfied I have answered your question, please mark the post you deem best answers your question (the green checkmark). I usually don't ask that, but since the thread is a little long, it could help other users if you 'approve' one of the answers. ...and, ok, I could use an additional pat on the back, lol! Interesting problem, thank you - I reiterate that this is a 'classic' type of GIS problem, with an additional field mapping summary 'twist'.
Later, when you wish to create a script tool, you can read up on the web help - you can create tool parameters out of the input fc (get parameter as text) and the output field and you can if you wish script the spatial join. Optionally, you can write it (if so inclined) to bypass using the Spatial Join tool, but that is for another day. Good to know you have options.
Enjoy,
Wayne