### Godot version

v4.0.3.stable.official [5222a99f5]

### System information

Win 10

### Issue description

The project converter injects `) #` into asserts to remove the message:

```
    assert(false) #,"Invalid type for gamepad input.")
        assert(action in device_actions) #,"pairs contained action not in controls: %s" % action)
        assert(len(q) == 2) #,"Each pair should have two directions.")
```

The [implementation in project_converter_3_to_4.cpp](https://github.com/godotengine/godot/blob/3695fe5a573678c6491a6a33f19f9329d3256a48/editor/project_converter_3_to_4.cpp#L2021-L2031) comments:

>  assert(speed < 20, str(randi()%10))  ->  assert(speed < 20) #,str(randi()%10))    GDScript - GDScript bug constant message

However, after #62695, asserts are able to have nonconstant messages again. So I think this step should be removed from the project converter.

### Steps to reproduce

1. Write asserts with a message in Godot 3.5
2. Open that project in Godot 4
3. Allow the project converter to run

You can use the assert from the comment:
```
	var speed = 30
	assert(speed < 20, str(randi()%10))
```
Put it in both Godot 3.5 and 4.0. I confirmed that it works in 4.0.3.

### Minimal reproduction project

Repro steps are trivial.
Vector<String> parts;
	int string_size = line.length();
	int start_part = 0; 
	int parts_counter = 0;
	char32_t previous_character = '\0';
	bool is_inside_string = false; 
	ERR_FAIL_COND_V_MSG(line.count("(") != line.count(")"), parts, vformat("Converter internal bug: substring should have equal number of open and close parentheses in line - \"%s\".", line));
	for (int current_index = 0; current_index < string_size; current_index++) {
		char32_t character = line.get(current_index);
		switch (character) {
			case '(': {
				parts_counter++;
				if (parts_counter == 1 && !is_inside_string) {
					start_part = current_index;
				}
				break;
			};
			case ')': {
				parts_counter--;
				if (parts_counter == 0 && !is_inside_string) {