1) is “cool” the name of the flex field?
2) is “monkey” the name of a field in the flex field? The sub fields of a flex field will not have a value until the post is saved.
3) This will always return true because $text will always be set to something.
if($text = get_sub_field('monkey')) {
try
$text = get_sub_field('monkey');
if ($text) {