I dislike
Colton / Kolton, simply because it's too "horse-y" to me (a colt is a young horse, of course). I do prefer the spelling
Colton, especially in this case since it seems a little themey for there to be a Kanyon and a Kolton.
Though Kolton /
Colton does go well with Kanyon, I wouldn't use it personally. Your first son's mn is Kohl, which in my accent is identical to the first syllable of
Colton; therefore it seems a little cheesy to me, even if Kohl's a mn and
Colton would be a fn.
Miranda