So if I'm Polish and I have kids, I cannot name my boy "Peter" because the Polish equivalent is Piotr?
That is correct.
What if I don't like the name Piotr and want to call my son Peter?
It's your problem. You might as well don't like the word "niebieskie" and instead
of that want to use the English word "blue" but still in your ID it will be written
"niebieskie". Also, your address would be ulica Piłsudskiego and not "Pilsudski street".
The reason for that is the fact that English is not an official language in Poland.
Do I get a fine for disobeying the law or do I go to prison or sth?
No. You simply won't be able to register the name of your child as "Peter"
(I remind you - that's only the case when you're Polish, a foreigner can
name his child "Peter").
Maybe the kids don't even want this heritage (...)
they are so young that they don't understand what that actually means?
We don't know this and in any case, he should not be forbidden to speak
Polish to them, because "maybe they don't want this heritage" (especially
if they don't understand what it means and are simply sad that they
have to speak only in German now and can't even use the beautiful
"polszczyzna" with their father :)).
A brit friend of mine is married to a Pole and they called their kid Max. The registrar even asked which spelling they'd prefer.
Proper order. That's the law.