RewriteCond's do not overwrite each other. They also apply to only the very next RewriteRule. They won't affect subsequent rules, regardless if you use [L] or not.
[L] means "Stop the rewriting process immediately and don't apply any more rules," though it often won't play out quite that simply. Let's say, for example, that you have:
RewriteRule foo bar [L]
RewriteRule bar baz
If we send a request for "foo", the first rule matches and changes "foo" to "bar". The second rule would have then changed "bar" to "baz", except the first rule's [L] stopped the rewriting process. ...But that's now where things end. Now that the request has been rewritten from "foo" to "bar", Apache sends an internal request for "bar". It goes through the normal request process, including applying rewrite rules. This time the first rule doesn't match, since the request is for "bar", not "foo", and the [L] doesn't apply either. The second rule does match, and "bar" is rewritten to "baz". Apache sends another internal request for "baz", and again it goes through the normal request process, including applying rewrite rules, but this time none of the rules match, so "baz" gets served up.