Thats because the order of the points you gave doesnt correspond to a shape that cannot be easily interpreted. Try this other order:
var pool_points = PoolVector2Array()
pool_points.append(Vector2(10,0))
pool_points.append(Vector2(-10,0))
pool_points.append(Vector2(-10,10))
pool_points.append(Vector2(10,10))
draw_colored_polygon(pool_points, Color(1,1,1,1))
If you follow your original order of points, and close the polygon with the starting point, you get overlapping paths, like here