1. fl is not considered as an error in lexical phase(as given in the question), it is treated just like a variable name, and the lexical analyzer generates an id for it and passes to the syntax analyzer. The error will be detected in that phase.
2. All the comments are detected by the lex in the same way other tokens are detected, i.e. using finite automata. The whitespace class of token includes whitespaces, tabs, newlines and comments. These all are grouped in a single token class, but these tokes are not passed to the syntax phase. This is well explained in Alex Aiken's Compiler videos.