'At' indicates a stage in a journey or progression of some kind, or a position along a continuum. So, if you are climbing a mountain, your climb begins at the bottom of the mountain and it ends at the top of a mountain. These are the key stages of your journey. When you make a list, some things are at the top of the list and some things are at the bottom. 'At the top' of a list is the top position.
'On' refers to a physical, literal location. So, while you could say 'on the top of the mountain', because 'the top of the mountain' is also a physical location, it wouldn't be so normal to say 'on the top of the list'.
It's not incorrect as such - 'incorrect' not 'uncorrect', note - to say 'on the top of', but we don't often have occasion to say it. 'The flag is on the top of the castle', 'the cat is on the top of the wardrobe', are possible, for example. Here we are thinking of 'the top of the castle' and 'the top of the wardrobe' as specific locations. This isn't quite the same as 'on top of' which is the opposite of 'under'.
To understand the difference, think of this - the teacher marks a pile of students' books, and puts them in order of merit. Then she put her pen on top of the pile. The book belonging to the student with the lowest mark is at the bottom of the pile, and the one belonging to the best student is at the top of the pile. The teacher's pen is on top of the pile.