Difference between since and for
There is a huge difference between since and for. Since is used when one knows the starting time of some event but does not know the ending point or the period for which it goes on. Mostly, the event is still going on at the time of the statement, or ends in the present.
I have been waiting since 10 am.
This implies that you started to wait at 10 am, and it is still going on. So, you are not aware of its end point. It is still going on.
For is used when you are not concerned with the starting point but just the period of event. When you know the time period for which a particular event went on, that is when you use for.
I have been waiting for 2 hours.
This does not show the starting point. It just indicates the time period for which you have been waiting. So for focuses on the period of time (and that period does not necessarily have to end in the present).