My question is, is closing the SD card after each write something unique to the SD Card memory or is it just how the example was written (to show all the functions).
Also as the reference stated you have to close one file in order to read another.
each open file will need a buffer, so on something like an Uno, you won't be able to have very many open at the same time.
Nope, the buffer (actually a "cache") is shared between all File instances. Each of them actually takes 38 bytes of RAM.
And because it's shared, if you have two open files and write to them alternately, then the cache has to be flushed to the SD card every time you switch from one file to the other. The flush is terribly expensive (because the SD card is cluster oriented, flushing the cache writes at least 2048 bytes to the SD card no matter how much new data has been written), so arranging to have as few cache switches as possible can really speed things up.
sync() will update the directory without closing, so it is a little more efficient than close+open.
sync() is for the underlying SdFile instance; for the File "wrapper" its name is flush().