Data locking question
Question is why there is no key lock on clustered index in second query ? 


Because the only other column in that table is the clustered index key.  And a non-clustered index always contains the clustered index key columns.

So your non-clustered index on col2 is a covering index for the SELECT * query.