The first question I have is: the gauge is 10st = 4" which means 2 1/2 per inch, correct??
Yes, that is correct.
Yarns that are called worsted can be quite different from one another. Most would not call for a 10 1/2 needle but everyone knits differently so maybe you are getting a good fabric for the yarn you have on your 10 1/2. If you are not getting the gauge called for your afghan will be smaller than the one given (I'm assuming you are getting more stitches in 4 inches than the 10 called for). You could figure out mathematically how much smaller. If you don't want it that small, and would rather it was the size given here is how I would do it.
The pattern called for strips made of 30 stitches width. 30 sts with the given gauge would be 12 inches wide. Make a swatch at least 6" wide (measure 4" away from the edges of the swatch) and figure out mathematically how many stitches you would need to use to get a piece 12" wide. That is what you want to accomplish. 3X the number in 4 inches.
With garter stitch hypothetically your row gauge should be 2 times your stitch gauge. For instance in this pattern it says the st gauge is 10 sts in 4 inches and the row gauge is 20 sts in 4 inches. Gauge can vary a little, but if you got exactly that ratio that would be helpful, but you can figure it out anyway so that it would be close.
The color changes for the strips are either 26 rows or 16 rows all the time. 26 rows would be about 5" long and 16 rows about 3" long. Plus a tad. I'd figure out my row gauge and use the number of stitches needed to get 5" for the wide stripes and 3" for the narrow ones or just a tad over. I notice they use only even numbers and maybe there is some reason for that, so I'd do likewise. The number of rows to get 5"+ a row to make it even if it isn't. Ditto with the 3" long stripes.
Then just follow the pattern as given but substitute your new numbers for the 30, the 16 and the 26 in each place you see those numbers. Should work. I don't know how it will change how much yarn you need.