Basically, I want a few switches to toggle their respective LEDs and be read as inputs on my Raspberry
The first schematic will not work if the GPIOs are set as inputs as there needs to be a path to ground, and an input cannot provide that (they are in a high impedance floating state). It will work if they are set as outputs set low (0V), but then of course you cannot detect when the button is pressed.
The second schematic is what you want.
I don't quite understand how this works (how does the current know "which way" to go, or does it simply go to GND and to the GPIOs).
Yes. More specifically, it will go to ground, but along the way it will affect the state of the high-Z floating input GPIOs.
WRT "floating": This is akin to a disconnected wire, except there is some clever circuitry involved to sense whether the disconnected wire is in fact connected to something with voltage. Going with a water analogy, if you have a dead end pipe connected to another pipe through which water flows, pressure will mean the water will likely fill the dead end pipe even though it cannot go anywhere (which is why it has "high impedance"). Hence a sensor in the dead end pipe can detect the pressure in the system overall.
If you are careful to make sure the GPIOs are never set as outputs driven low, you can do without R1 - R3 & R8.