"The 20 marks are distributed as follows: (10 marks on grammar and 10 marks on vocabulary)". Shouldn't we use "for" instead of "on" and delete the parentheses?
You're right that the parentheses are out of place; a parenthetical expression is subordinate to its containing clause, meaning that the sentence must remain valid if the entire parenthetical phrase is removed. if you do that here, you're left with "The 20 marks are distributed as follows:", with nothing following. You can correct this structural problem by removing the parentheses.
In American English we would expect to see "10 marks for grammar" rather than "10 marks on grammar". "On" versus "for" can be a little tricky when you're talking about allocation. For example, we spend money on or for things but allocate money for things (not on things). In your case, you're allocating points on an exam for particular categories.
The fact that you're saying "marks" where I would have expected "points" makes me suspect that you're using a different dialect of English. I don't know if there are dialects where "on" would be used here, but I don't know of any. Using "for" should be correct in all English dialects.
I would write this as:
The 20 points are distributed as follows: 10 points for grammar and 10 points for vocabulary.
Or, more succinctly:
The assignment1 is worth 20 points, 10 for grammar and 10 for vocabulary.
1 Or problem or exam or whatever it is that has 20 points/marks.