The lack of access to on-site medical or to cultural events like Take Your Kid To Work Day is presumably to draw a clear line between Vendor and Employee. If a group of vendor workers file a class action suit to be reclassified as employees (with backpay/benefits), a company wants to be able to say "Nope, they were vendors. Look at all the ways we made the distinction clear." If they're treated as employees in every way except the payer of their checks, it's a lot harder to justify why they were classified as vendors and received lesser benefits because of it.
I was a temp at another large company before moving to a full-time role at my current one. My contract was capped at 1 year, because without the cap, there was a perceived risk that I could seek to be retroactively classified as an employee and entitled to the benefits I didn't receive as a vendor.