In a pot, add the sugar, milk, and eggs. Put it on the fire and beat the mixture until it becomes lukewarm, at around 36-40 degrees. Careful not to burn the mixture, as it can burn the yeast. Add the orange zest and stir. In a mixing bowl, add the flour, salt, mahlepi, mastic, and cardamom and mix. Add the yeast and mix again.
Pour the milk mixture into the mixing bowl and knead well. When you reach 70% of the kneading process, add the softened butter gradually, spoon by spoon. Knead for 20 minutes at medium speed.
Take the dough out of the mixer and put it in a bowl that has been greased with oil. Cover with plastic wrap and set aside for 4 hours to rise. It's better to add a blanket on top. To make it rise faster, preheat the oven to 40°C and put a bowl of boiling water on the bottom. Place the bowl with the dough inside and let it rise for 1 ½ -2 hours.
Uncover the dough and fold it in half. That is, bring the edges towards the centre and knead. Cover the bowl with plastic wrap again and let it rise for 1 - 1 ½ hour.
Remove the dough from the bowl and cut it into 3 pieces. Knead each piece shaping sticks. Put one stick next to the other. Glue the edge of the middle and left one onto the first one. Make a fairly tight braid. It is important to be tight so that it does not open. Start with the right cord and bring it over the middle one. Then, do the same with the left cord. And repeat the same until the Tsoureki is finished. Bring the edges towards the centre so that the tsoureki does not open. Close the braid and shape into a wreath.
Put it in a pan with non-stick baking paper and cover with a towel or plastic wrap. Set it aside for 1 - 1 ½ hours to rise.
Beat the egg well and brush the Tsoureki carefully using a pastry brush.
P ss it twice with the egg to nicely brown it. Decorate with the eggs and bake in a preheated oven at 160°C for 25-30 minutes.