I have to guess a bit here but I would say it's because Deutscher is a nominalization of the adjective deutsch, while Türke is a proper noun that does not originate from an adjective. You can imagine Deutscher as an abbreviation of deutscher Staatsbürger, omitting the real noun and capitalizing the adjective. In theory you could do the same with Türke: you would take the adjective türkisch, use it in türkischer Staatsbürger and omit the noun, so that you get Türkischer, but that's not how we call them, because there is already a proper noun (Türke). For some reason, we do not call ourselves Germanen, in that way we would apply the same rule like for Türke: Ich bin Germane und Türke. Unfortunately there are a lot of different ways how nations and their citizens are called, so basically it comes down to learning them all by heart. For example, there are Deutschland and England, but we call the citizens Deutsche and Engländer, instead of saying Deutschländer (which is a wiener sausage brand...).
Actually, I am asking myself if "Deutscher" is the only exception of the rule, because I cannot think of any other example that is constructed this way.... Are there others? The closest word that comes into my mind is Amisch (amish), which is used in a similar way like Deutsch.
The good news is that "-er" and "-e"* cover the options (exception: "Er/sie ist Israeli" comes to mind). But there doesn't seem to be a rule for which one it takes.
*for the latter: female: "-in", e.g. (die) Türkin; plural: "-en", e.g. (die) Türken. As for "German", the female form is "(die) Deutsche" and the plural is "Deutsche; die Deutschen"; but normally, for nationalities ending in "-er" for a male, the female form is "-erin" and the plural "-er": female "(ein/der) Italiener, (eine/die) Italienerin"; plural "Italiener, die Italiener".