Hi
This is a common problem, one that I see very often and one that does seem, certainly in part, to be exacerbated by stress. The exact cause isn't known, but we know that it involves excessive dilation of blood vessels in the face, that then create areas of redness and irritation, upon which small spots can form, which in turn can get infected and further develop the lesions.
Id say your best bet for long term general improvement of the appearance of the condition, is to take high dose omega 3, and extra B vitamins. Omega 3 will help to reduce any excessive inflammation that may be occurring both in the blood vessels and the upper layers of the skin. Also, the metabolites of omega 3, a group of compounds called eicosanoids, can actually regulate capillary dilation to a certain degree so may reduce the appearance of the dilated vessels. The B vitamins have many regulatory functions upon the skin. One of the key areas they control is the rate of blood flow to the skin so, again, they may help to reduce the appearance of the redness in time.
Aside from that id say increase your intake of fat soluble antioxidants such as beta carotene (carrots, sweet potatoes etc) to give general antioxidant support to the skin, and make sure you find ways of naturally managing stress as best you can.
It can sometimes take a while to treat, but Im sure the above will help in time.
Good luck
Dale