I think you are focusing on the wrong aspect. In a purely theoretical world, I expect that a Bachelor degree would provide 100% of the knowledge needed to be introduced to a (certain) Master degree.
However, to cover that 100% of knowledge the Bachelor degree needs something like 40% of its courses. Why? Because the Bachelor should be introductory to many Master degrees, plus should be enough for someone not willing to pursue a Master degree.
Let's say Bachelor in CS (BCS) is required for 3 different Master in CS, in topic A (MaA), B (MaB) and C (MaC). It can be that the Master in CS is only one, and the three topics are sub-tracks.
If the BCS is composed of 180 ECTS, I expect that in reality only about 100-120 ECTS are effectively required by each one of the Ma*.
There will be obviously some overlap in the requirements of the three Masters, so a student completing the 180 ECTS in your system can pursue any of the three Master topic, while the unlucky Kaveh and the unlucky Niloufar may be bound to pursue MaA and MaC, while to pursue MaB they would be required to make up for the missing credits.
In short: ignore the non-core courses, focus on what matters to you. Those students would not have completed their university degree without taking those compulsory or semi-compulsory courses at the persian university. Even if not compulsory, it may be that if you take religious courses you are discharged from the army ... if living in a country that has sustained military involvement, it is a very rational to do (a couple of exams on God instead of being enlisted to shoot someone? yes please) 
 would you have the same doubts about US students that honourably served in the mighty US Army to get US citizenship and then discounted tuition fees?