Why are convex sets assumed / defined to be subsets of vector spaces (and not of more general spaces)?

Solution 1:

If you have a meaningful way to interpret $\sum_i\alpha_i\omega_i$ for $\alpha$s that sum to $1$, then you almost have a vector space already. More precisely, the set of all formal linear combinations of elements of $S$, modulo multiples of $\alpha_1\omega_1+\cdots+\alpha_n\omega_n-\sum_i\alpha_i\omega_i$ will constitute a vector space. Thus, assuming that $S$ is a subset of a vector space does not lose generality.

Because vector spaces are more well-behaved and well-studied than other weaker structures you could work with, it is convenient to make this assumption.

Solution 2:

http://en.wikipedia.org/wiki/Convex_metric_space

However, this sounds like it is too weak for your purposes, as the notion of "linear combination" is lost altogether.