The reason is because you want to be able to usefully talk about 'true vertices'. Another way to define a polygon is any convex hull of finitely many points in Euclidean 2-space with nonzero area. Then the 'real' vertices are those points on the boundary curve that are nondifferentiable ('pointy' or 'sharp').
Those are the special points you are interested in when you want to distinguish between vertices and other points on the boundary.
Conventions are not set in stone. In a math paper, you could say you allow for this case, if it makes sense. You could even allow for two of the vertices to be the same.
It takes less effort to define it without that restriction, then an octagon is just eight vertices with lines between them.
You can add various restrictions such as not allowing it to intersect itself or requiring that it is convex, but not allowing 3 successive vertices to be colinear doesn't really give you any useful properties so I'm not sure why you'd want that.
Because it has no net surface area? It is a 1-dimensional line/curve rather than a 2d surface? I thinks such definitions are a little more substantive than mere language conventions.
Why is a polygon with three consecutive collinear vertices not a polygon? Convention. Does anyone here have insight into why it's a good convention?
To me it sounds something like saying "9/12 is not a valid fraction because it can be simplified".