Python 3 - simple temperature program version 1.3
You're not following PEP8 and you still have a spaghetti mind-set. Each function should have a single responsibility.

value_input however is in charge of:


Asking and validating user input.
Handling how to convert the input.
Convert and display the input.



This should instead only perform the first task I've said above. After this you should have the calling code perform 2 and 3.

convert_c2f also is responsible for two things converting and displaying the input.

It can be seen in main that you were originally doing something better than you have now, so it's unclear why you changed this.

def read_selection():
    return input('''Welcome to the temperature conversion program!

Please make a selection:

    c to convert from Celcius to Fahrenheit;
    f to convert from Fahrenheit to Celsius; or
    q to quit the program.

Enter your selection: ''')


def float_input():
    value = input('''\nPlease enter the temperature you
want to convert: ''')
    try:
        return float(value)
    except ValueError:
        print('That is not a number!\n')


def convert_c2f(value):
    return (value * (9 / 5)) + 32


def convert_f2c(value):
    return (value - 32) * (5 / 9)


def main():
    while True:
        selection = read_selection().lower()
        if selection == 'q':
            return
        elif selection == 'c' or selection == 'f':
            value = float_input(selection)
            if selection == 'c':
                converted = convert_c2f(value)
                print(f'The answer is: {converted}°F\n')
            else:
                converted = convert_f2c(value)
                print(f'The answer is: {converted}°C\n')
        else:
            print('Invalid selction. Try again.\n')