Why is this category page limiting the number of posts?

10 is the default page length which is taken from the WordPress settings.

It’s a little bit hidden but there in the docs for WP Query there’s a parameter posts_per_page which can be set to -1 to get all posts, so you just need to add that to the arguments to pass to WP_Query.

(If that doesn’t work and you copied that WP_Query code from somewhere, you might need to remove the apply_filters() part and just keep the inner array() and pass that directly to WP_Query)