As stated in the comments, forEach is just a method invocation. The snippet
myLabel: ints.forEach(integer -> ...);
is a labeled statement:
identifier statement labels are used with break or continue statements (§14.15, §14.16) appearing anywhere within the labeled statement.
To repeat, the labeled statement is the method invocation expression. Your continue statement is not within the labeled statement. 
Your continue statement is within a while statement appearing within the body of a lambda expression. 
A continue statement with label Identifier attempts to transfer
  control to the enclosing labeled statement (§14.7) that has the same
  Identifier as its label; that statement, which is called the continue
  target, then immediately ends the current iteration and begins a new
  one.
[...]
The continue target must be a while, do, or for statement, or a compile-time error occurs.
A continue statement must refer to a label within the immediately
  enclosing method, constructor, initializer, or lambda body. There are
  no non-local jumps. If no labeled statement with Identifier as its
  label in the immediately enclosing method, constructor, initializer,
  or lambda body contains the continue statement, a compile-time error
  occurs.
Since there is no labeled (while, do, or for) statement named myLabel in the immediately enclosing lambda body, you get a compile-time error.