about would be "o svých synech". I am not sure about "for someone". Check https://forum.wordreference.com/threads/cry-over-for-her.2234965/ and similar
i know it doesn't help to latch on to the idea of direct translations. but i am just curious if "pláčou nad svými syny" and "pláčou o svých synech" have different meanings in czech, and if the difference is definable? in english when you cry over someone, you are crying about them.. usually about having lost them or been hurt by them. so that is why i tried "about" in the english translation. to cry for someone is to cry on their behalf, while to cry over or about someone is really on one's own behalf. it is much different in english at least.
(i guess also to cry for could mean, to cry to get someone's attention, too. still different than crying over.)