Set “posts_per_page” to the number that you want, -1 if you want them all. As far as random goes, with the query you’re doing it should be pulling them in reverse date order, if they are random then you have a pre_get_posts filter somewhere causing it.