It is easier to start with the villages that appear more than once in the description.
Wellbank is due east of Ruilick
Aultviach is due north of Ruilick.
(due means directly)
The only letter on the map which has villages directly north and east of it is E.
So Wellbank is F and Aultviach is A.
Rheindown is due south of Clashandarran.
B is the only village which has a village directly south of it. B is Clashandarran and D is Rheindown.
B also satisfies the sentence “Clashandarran is south an eastof Aultviach”.
This leaves us with letters F, G and C.
We must satisfy the statement “Beauly is south and west of Windyhill”.
F does not have anything south and west of it.
G does not have anything south and west of it.
So C is the answer.