This is because GtkFileChooserDialog must intercept responses and switch to folders if appropriate, rather than letting the dialog terminate — the implementation uses these known response codes to know which responses can be blocked if appropriate.
This is hard to understand. Can you give an example? What is “blocked” in which case, and when does the dialog “switch to folders if appropriate”?
The file selection widget and dialog is a fairly sizeable finite state machine, and it uses response codes as part of the state selection. GtkFileChooserDialog will only recognise affirmative response identifiers for action widgets if they are in this list: