The shell reads a variable name as a contiguous string of letters, digits, and the underscore (except that it can't start with a digit). The first character that is illegal in a variable name terminates it.
When you need to combine a variable and a text string like this, the full bracketed form of the variable expansion is the generally accepted way to go about it.
Another possibility, however, is to quote each part separately.
Code:
echo -e "$BOLD""Here is Bold Text$BOLDOFF"
Due to the way the shell parses the line, each quoted section is parsed separately, then concatted back together to form the final string.
Yet another option, and perhaps the cleanest, is to use
printf instead:
Code:
printf "$BOLD%s$BOLDOFF\n" "Here is Bold Text"