I'm a bit of a newbie here myself, and I can't answer all of your questions, but I'll give a try at some of them :)
As you have probably already noticed, there can be a lot to learn!
You could put some plants in your guppy tank. Good for the guppies, probably good for the plants, good practice for you. I usually know a lot more about what I like and how to do it, after I try doing it for a while.
Substrate: I personally use an inert substrate (typical "gravel" sold for aquariums) with plenty of mulm (fish waste), and my plants grow nicely. I have a light (fluorescent light bulb), but do not add any special fertilizers or anything else extra for the plants. This was easiest and cheapest for me to try, and worked well enough for me, so I haven't bothered to change. Lots of other people do things differently and also get good results, so I do not know what would be best for you.
Dwarf Sag (Sagittaria subulata) grows in my substrate. It makes little tufts of leaves and looks sort-of like grass. It spreads until it eventually covers the whole bottom of the tank. It stays pretty short, maybe 2 inches or 6 centimeters, as long as it has space to spread into. When it gets overcrowded, it can get really tall (12 inches or 30 centimeters is what I've seen, which was as tall as the tank it was in.) That's a very different look! If you like it short, just pull a bunch out any time it gets too tall.
Java fern never has proper roots, but grows anywhere I put it. I don't recall its scientific name, but it's very common in the US aquarium hobby. It grows a clump of leaves on a rhizome (green stem), and people tie it to rocks or driftwood, or just let it sit somewhere. It eventually grows brown things that look like roots and hold it onto whatever it's sitting on. It's considered a slow grower, but very hardy, and can get fairly large if you give it a few years. There are forms with bigger or smaller leaves, or different shaped leaves.
Java moss, the most common "moss" in US aquariums, sorry about no scientific name here either. It makes a big messy-looking clump unless you wind it around a piece of wood or something, but it's good for shrimp or for baby guppies, because they eat lots of little things that live in it. Little fish or shrimp can also use it to hide from bigger fish.
I've tried anubias nana petite (it's really tiny and cute), but it grows very slowly and doesn't seem to like my conditions.
Amazon Sword plants have a reputation for getting very large so I have never tried them, but I have a "rosette sword" (Echinodorus parviflorus) that's supposed to stay smaller. It seems to be doing OK so far, but I haven't had it long enough to be sure. All kinds of sword plants are known for growing big root systems, which can be good if you don't like cleaning gravel (that's me) or bad if you want to pull them out without making a big mess.
I've got several kinds of stem plants but I don't know their names. I found someone willing to sell me a packet of trimmings from their tank, with a little each of several kinds. Then I stuck the ends in my substrate and some grew while others died. The ones that grew seem very happy, so I guess they're good kinds for my tank. ("Stem plants" are any kind of plant that grows a stem with roots on the bottom and leaves along the rest of it. You can cut off part of the top and plant it, and it'll grow new roots to be a new plant. The bottom part you left behind will grow several new tops and look better than ever.)
I also have some small floating plants--duckweed and azolla are the names I bought them under. They can be rather a nuisance sometimes, but are a good place for baby guppies to hang out (I like guppies), so I'm keeping them for now.
My favorite advice for choosing plants is to get a lot of different kinds and put them in your tank, then see what grows well. That way you end up with plants that are easy for YOU to grow. (I first read that idea in Diana Walstad's book "Ecology of the Planted Aquarium." I do not do everything her way, but I am really grateful for that piece of advice.)
If you want shrimp that come in many colors, neocaridina are the usual first choice. That's the common "cherry shrimp" (red) and various shades of blue, yellow, white, black, brown... All the colors CAN live in one tank together and will breed with each other. The shrimp can be happy and healthy that way, but the babies are often brown and sometimes new colors or combinations. If you have just one color in the tank, their babies will probably match the parents' color, at least most of the time. Neocaridina shrimp are said to be hardier than most other kinds of shrimp--I haven't tried any other kinds yet, so no personal experience.
For nano fish, most will still eat baby shrimp. If you have lots of shrimp and lots of plants, then a fish nibbling a few here and there does no harm--but not a good idea when you get your first few shrimp. The internet seems to agree that otos (otocinclus) are "shrimp safe," but several other kinds of fish can look rather like an oto, so make sure you learn to identify them before buying.
Since you already have guppies: all guppies will eat baby shrimp. Large groups of guppies can pick at adult shrimp until they kill them. If a tank is full of shrimp, you can add just a few adult guppies (males, so they don't multiply) and the adult shrimp will still be fine. The guppies will eat some of the baby shrimp, but some baby shrimp may hide in plants and grow up anyway.