yes, the limits are economical. not cultural. you can't control the effect on culture by limiting immigration. economics is a different issue. the problem of course is that these issues get mixed, and people use economics as a reason when culture is their problem. and they are blaming their own economic situation on to much immigration when often that is simply not true.
germany has 200.000 open positions in IT right now. what would happen if we invited 200.000 experienced IT people from india? half the people without a job would complain that the indians are taking away their jobs. and lots of people would rant about how all these indians change our culture.
and what about the civil war in syria that produced 5 million refugees leaving the country? or ukraine, another 5.7 million refugees?
do you want to reject them just because you feel they threaten your culture?
since you claim that not having a limit is not ethical, let me quote the german chancellor merkel at the time: "The fundamental right to asylum for the politically persecuted knows no upper limit; that also goes for refugees who come to us from the hell of a civil war."
when merkel said "everyone is welcome" this was literally the first time in my life that i was proud of germany. and you should know that in germany being proud of germany is a politically very sensitive statement usually associated with extreme-right groups.
so when it comes to refugees there can't be an upper limit.and beyond that, the limit depends on the economic situation. if we need the workers, the limit goes up. it has to. culture doesn't factor into it at all. you can't have it both ways.