This is solved more clearly by recursion. Imagine a function f that determines how many chips are left to the presenter:
def f(chips: int, walruses: int, position: int = 1) -> int:
    # Base case, there are fewer chips than the current position number
    if chips < position:
        return chips
    else:  # Iterative case; decrement chips and recalculate position
        chips = chips - position
        position = position + 1 if position < walruses else 1
        return f(chips, walruses, position)
walrus_count, starting_chips = input().split()
print(f(int(starting_chips), int(walrus_count)))
That said, if you really want to use a while loop:
def f(chips: int, walruses:int) -> int:
    position = 1
    # Quit if we don't have enough chips
    while chips > position:
        # Decrement chips
        chips = chips - position
        # Reset position if we've gone around the circle
        position = 1 if position >= walruses else position + 1
    return chips
The problem you are having is that you're nesting loops.
while m >= 0: # Loop until you run out of chips -> but that is not what the problem calls for
    for i in range(0, n+1):  # i is position, and you're looking to loop once you run out of walruses. Alas, you're zero-indexing here!
        if m >= i:  # Check to see if there are enough chips, which is a half-overlap of the outer loop
            m -= i  # Decrement chips, correct
        else:
            break  # Breaks out of for-loop, but not while-loop
     # No extra check here to see if you need to break out of while loop. Need to add one, or fix the while loop check.