The exclaimation point at the start of the row designates that row as a table header (it creates a <th> element in the HTML). MediaWiki's sortable does not work on table headers. Since your table has no regular cells (everything is a table header), sortable thinks there's nothing to sort.
If you want the content to be sortable, you have to use regular table cells. For every row in your table (except the top one, that's your /real/ table header that you want to keep), replace the ! with a | like so