I'm not sure how this is possible. Indeed, the approach you use should work, as can be made clear with an example:
df <- data.frame(id=1:10,
POPULIST = c(rep(1,4), rep(0,6)),
EUROSCEPTIC = c(rep(0,2),rep(1,4), rep(0,4)))
df
#> id POPULIST EUROSCEPTIC
#> 1 1 1 0
#> 2 2 1 0
#> 3 3 1 1
#> 4 4 1 1
#> 5 5 0 1
#> 6 6 0 1
#> 7 7 0 0
#> 8 8 0 0
#> 9 9 0 0
#> 10 10 0 0
subset(df, POPULIST == 1 | EUROSCEPTIC == 1)
#> id POPULIST EUROSCEPTIC
#> 1 1 1 0
#> 2 2 1 0
#> 3 3 1 1
#> 4 4 1 1
#> 5 5 0 1
#> 6 6 0 1
Created on 2020-12-06 by the reprex package (v0.3.0)
So to understand what's wrong in your case, it could help if you made a minimal reproducible example, see some guidelines here:
PS: to get a better look at your data and see what number of parties to expect, you could try to tabulate POPULIST vs EUROSCEPTIC like that:
table(df$POPULIST, df$EUROSCEPTIC)
#>
#> 0 1
#> 0 4 2
#> 1 2 2