From what I understand Germany wasn't the country as it is now until the early 1900's. Would he not have identified as Prussian?
This is under the assumption that Django takes place before the American Civil war so pre 1850.
It's entirely possible. Django Unchained must have taken place before the outlawing of slavery in the US due to the Civil War, so keeping it close to the war, going by some of the guns, let's put it at 1860.
In this time, you're right in saying there is no unified German state, but there was the German Confederation. A confederal state that had previously attempted to have been unified due to popular support for it.
Schultz seems like a liberal man, and there was widespread liberal support for a unified state in the revolutions in Europe in 1848.
There was a German national identity before the unification of Germany. So regarding citizenship he should have said "I'm Prussian". But culturally he was correct by saying "I'm German".
Fun fact: There are still indigenous minorities who don't necessarily call themselves "cultural Germans", despite being German citizens