You do not need this to make it work. Read it when you want to know why it worked.
The two at the top
name and size are boxes with things in them. Python calls them variables. You put a value in once at the top, and everywhere underneath, the name stands for whatever is in the box. That is why changing one number changed twelve lines of output.
The for line
for row in range(1, size + 1) means do the next bit once for each row, counting from 1 up to the size. The three indented lines underneath are the bit that gets repeated. The indent is how Python knows where the repeat starts and stops, which is why the spaces matter so much.
The trick with the stars
In Python, multiplying a piece of text repeats it. So "*" times 5 gives you five stars. Each row prints some spaces to push it across, then an odd number of stars, which is what makes the sides slope evenly instead of stepping.