Python has less syntactic sugar: semi colon-terminated statements, braces, etc. It doesn't make Python "better," but to a newb, the less the better. If less comes in a real language, so much the better.
Variable declarations ... you could go either way. I like that Python is closer to a language that "knows what you mean" even when you don't declare a variable.
You can learn discipline later. Learning to program is a chicken and egg problem, you have to learn two things: a language (any language) and programming concepts, and unfortunately you have to learn one to do the other. Python's forgiving nature makes that a bit easier than some other languages.
Yes, probably.
The point is that Python has a lower barrier to entry, mainly because it doesn't force you to learn anything about OO first. That is why python and not C#.
The point is being made that learning one language makes it vastly easiest to learn another , so you may as well start by learning one that is designed to be learnable rather than necessarily one that is in demand.
This is for people learning to program, remember? If they have to install Mono, that's just an extra hurdle, and doesn't get them any closer to their goal vs. just using Python.
Either way your going to have to install something, either a python runtime or a mono/.net runtime.
Plus your going to at least want to install a better text editor and probably set some environment variables.
The installation process for all of these things shouldn't be a big hurdle since all you'd have to do is follow a set of steps that can be easily demonstrated.