1) The progress meters is important. The scenarios in which this progress meter would matter, would lead to users thinking something strange went wrong and their push did not succeed because of the lack of the progress meters. Besides that, it's a UI manifestation of a bug that would have led to pushes in certain scenarios not working.
2) As long as GIT diff exists, making it more usable should certainly be a core part of changes to GIT diff. There are many utilities you can use for GIT diffs easily enough instead of the base diff. But I like the fact that if I'm at a machine where my preferred utilities are not setup, I still have a very usable diff built into GIT.