G90 is typical as the slicer cannot guarantee otherwise that a previously run gcode file didn’t leave the machine in G91 - it doesn’t reset automatically after the previous job finishes.
I think the firmware might ignore that 1800 as I think is limited to 1200 in Z. In X/Y only moves the 9000 is the limit. Otherwise though, for a non extrusion move, that’s not particularly fast, I usually use 3000 as my jog speed. Since that move is not extruding, it would be more typical to call it G0, as G1 is used to indicate moves that have an E parameter, by convention. The firmware does the same thing either way, but at a glance it’s a quick way usually to tell if a move is spitting out filament or not.
It’s not set twice…in a row. It tells the firmware to reset the extruder position tracker to 0mm. The following line extrudes 20mm at 200mm/min (way too much in my opinion, I’d do like 5 max), then finally it resets the tracker position to 0 before the print starts. If you don’t reset before the print starts bad things can happen - over/under extrusion because the tracker won’t be in the expected position.
Personally, I extrude 1mm and let the skirt prime the rest. No wrong answers here, as long as you’re happy with the results.