Why are Gold codes and Kasami codes used instead of pure m-sequences?
There are very few m-sequences of any given length with good cross-correlation properties.  Their autocorrelation properties are excellent, but the cross-correlation properties are variable.  For example, there are 18 m-sequences of period 127 but to have good cross-correlation properties, one must choose a set of no more than $\require{cancel}\cancel{\text{3}}$ 6 m-sequences out of the 18 available. As a consequence, when several sequences with good cross-correlation properties are needed, one needs to use Gold sequence sets  or Kasami sequence sets which have good cross-correlation properties and good (though not excellent) autocorrelation properties.

For more than you probably want to know, I refer you to the paper D.V. Sarwate and M.B. Pursley, "Cross-correlation properties of pseudorandom and related sequences," Proc. IEEE, vol.68, pp.593-619, May 1980. It includes a detailed discussion of the Gold sequences as well as the small sets and large sets of Kasami sequences.