As opposed to the ĉapelo, the luneto has an explicit historic inspiration. Wikipedia states that
It is thought that ŭ was created by analogy with the Belarusian letter ў (Cyrillic u with breve), which was proposed by P.A. Bessonov in 1870.
Virtually the same is stated with more certainty in the corresponding Vikipedio entry:
Ŭ estas invento de Zamenhof, modifo de U pere de Cirila signeto, la hoketo (aŭ "luneto" aŭ "duonarko").
I doubt that more concrete sources have survived.
Why reuse (the accent of) a Cyrillic letter for ŭ and not reuse the existing Latin symbols č, š for ĉ, ŝ eludes me. (Some say the latter is to maintain neutrality, but that would seem to clash with the former.) But as per why not use the same artificially introduced accent for both modifications, I think the quick answer is that the purpose is different: the luneto converts the vowel into a semivowel (thus, simply put, affects length), while the ĉapelo changes the sound. One could in principle extend the effect of the former to other vowels to represent diphtongs that are not present in Esperanto using its orthography. (With Ŭ alone ŭo and oŭ are examples of this.)
Edit: U is the only one for which it makes sense: for I we have J, and other common cardinal vowels used for forming semivowels do not exist in Esperanto.