Due to the nature of the device. A crossbow imparts a lot of initial force on the object. If it's short and stocky, you mainstain your accuracy. If it's long, like a normal arrow, it would flop all over the place and probably shatter in the process.
An arrow needs to flex around the bow staff because when you release the bowstring, the arrow is being pushed towards the staff but deflected to the side of it. In order to maintain accuracy, the arrow actually needs some flex and bends, allowing it to clear the staff and stay on a true course.
On a crossbow there is no such requirement. Because your bolt is sitting on a guide going over the top of the arms. So now it's a disadvantage to accuracy for your projectile to flex out of it's nice guideway. So your bolts can be short and rigid.
In addition to the already mentioned reasons, arrows must be at least as long as the draw length of the bow/archer in order to function. For most people this is at least 28", longer in some cases. A crossbow, since it has a table guiding the projectile doesn't have this requirement.
Shorter projectiles also have the advantage of being easier to manufacture, which is a big deal when you don't have automatic dowel making machinery. If I can get 3 bolts off a lathe in the same time it takes to make one arrow, that's a huge efficiency increase.