Yes, you can. There's no limit to the number of instants you can cast, other than having the mana available to pay for them. Is there anything in particular that made you think such a limit would exist? If you haven't done so, check out the basic rule book.
For your second question, yes, at the end of the "declare blockers step", in which your opponent will have decided whether or not to block, each player then gets a chance to cast instants or activate abilities.
From the basic rulebook:
An instant is just like a sorcery, except you can cast it just about any time you want,
even during your opponent’s turn or in response to another spell. Like a sorcery, an
instant has its effect, then you put it into your graveyard.
And
Your opponent decides which, if any, of his or her
untapped creatures will block your attacking creatures,
then they do so. If multiple creatures block a single
attacker, you order the blockers to show which is first
in line for damage, which is second, and so on. Players
can then cast instants and activate abilities.
Note that there are 2 ways to cast 2 instants during the same step:
- You can cast the instants one at a time, waiting to cast the second until after the first resolves. Most commonly this is smarter, because you can see what your opponent does before deciding to cast the second one.
Or:
- You can cast the second instant immediately after casting the first, in which case the second one you cast will resolve first. If you wish to do this, then you must state as you cast the first instant that you wish to retain priority, otherwise you are assumed to be passing it after casting the instant. You would need to do this if, for example, you wanted to cast Fork, targeting your first instant.