The ForAll function is trying to figure out what type of record it's supposed to return which, due to the IF statements, is unclear. In such a case, it will assume the final record's "Type" is defined by the intersection of used fields in all the different If outcomes. In your case, there is no intersection so no columns are included at all.
You have options though. Not sure if you intend to have the option of including both these columns (which your current logic seems to say is not possible). But in either case, you could a few other things like just removing the columns you don't want (without using ForAll):
Set(tempTable, ShowColumns(GlSumario, "Initiation", "Countrye"));
If(varInitiation = false, Set(tempTable, DropColumns(tempTable, "Initiation")));
If(varShowColumn = false, Set(tempTable, DropColumns(tempTable, "Countrye")));
Set(varJSONCars, JSON(tempTable, JSONFormat.IndentFour));
I'm not sure you need the ShowColumns() in the beginning, that would only be needed if your GISumario has other columns you wish to discard, I guess.
Hope this helps.