Every verb has its own rules for what sorts of complement it permits and what sorts it forbids. These rules are in the end completely arbitrary, and there's no rule or general principle you can point to say “Why” one verb works one way and another verb works another. It’s a matter of historical contingency; at some point the language drifted toward doing it that way and not another way.
You can in some cases point to possible historical influences. In this case, for instance, have has been acting as an auxiliary for a very long time, over a thousand years, and the particular sorts of complement it takes were determined before the infinitive marked with to existed in its current form. Get, however, was only pressed into service as an auxiliary much later. From the 15th into the 17th century the language experimented with get X for to VERB-inf and get VERB-inf X before settling on get X to VERB. But there's no rule there that will predict any other verb's complementation pattern; history is only useful as a mnemonic respecting get.
That’s how idioms work: you have to learn them one by one.