This has nothing to do with the loop in the template file.
Check Settings>>Reading>>”Blog pages show at most…”
That setting is the default setting for Archives, too, as well as Search results, etc.
Use WordPress › Custom Post Limits « WordPress Plugins to vary posts limits in categories, archives, etc.