What is the word for such a person?
Historically, in British English, a bootblack. But Chambers (iPhone edition), which I quote below, also has shoeblack, which I have never encountered myself.
1. A person whose job is to clean and polish shoes
2. A shoeblack
The 1993 paper edition of Chambers does not include shoeshiner (the iPhone edition lists it without definition). I suspect it is US usage, although I wonder whether this is a ‘politically correct’* version of shoeshine boy, which I am aware of from the old song of that name.
*‘Politically correct’ because of the derogatory and perhaps racial implications of using ‘boy’ to refer to an adult.
Bootblack is the most popular term for this occupation.