Your program is an infinite loop, since a float will never equal a string.
Since you claim that this program works as intended, I'll take you at your word, and say that the loop should be written using
while True: ….
Variables and functions
There are just too many variables being used for no good reason. In particular
value are redundant.
The variable names aren't meaningful, and neither is your function name.
It is customary to introduce your main code with the boilerplate
if __name__ == '__main__': ….
Input / output
float(input(…)) multiple times. It would be worthwhile to extract that into a function.
To print a multi-line string, write a
"""multiline string""". In this case, the string can do double duty as your program's docstring, so that's how I would write it.
"""This program takes two numbers and multiplies them.
the result is multiplied by a third number
entered by the user too"""
product = prompt_float('Enter a number: ') * \
prompt_float('Enter a number: ')
product *= prompt_float('Multiply by: ')
if __name__ == '__main__':