OK, here's the answer:
All those flags violate the heraldic rule of tincture.
Back in the Middle Ages, coats of arms and flags were a means of identifying individuals in full armour, and you had to easily spot it from afar. To make them easily recognisable, a set of rules was established, the most important one being the one of tincture.
Heraldry knows three different types of tincture: Metal- silver (white) and gold (yellow); Colour- Azure (blue), gules (red), purple, sable (black) and vert (green); as well as Furs (patterns).
From afar, a sharp contrast is needed to recognise a shield or flag. Therefore, the rule of tincture states that no Metal may be on Metal and no Colour on Colour, since the types tend to blur if viewed from distance (especially yellow and white). This "rule" is nowadays little more than a recommendation, but most flags are still designed accordingly- you will find very few flags that have two colours together without a yellow or white bar between them. There is a handful of deliberate and accidental violations, such as the ones I posted. At least the Vatican flag (originating as the flag of the Kingdom of Jerusalem) does it deliberately to emphasise its special position.
It may seem like nitpicking nowadays, but it used to be a matter of life and death.