Try this, note I have NOT tested this!!!
Note also I have loaded column K into a variant array, this is because this will really speed up this macro, because you have a multiple loop your a looping through worksheet pop column K and then also through all the worksheet.
Sub copyrow2()
Application.ScreenUpdating = False
Dim LastRow As Long
Dim ws As Worksheet
LastRow = Sheets("Pop").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Dim x As Long
Dim Inarr As Variant
' load worksheet pop into memory
Inarr = Worksheets("Pop").Range("K1:K" & LastRow)
For Each ws In ActiveWorkbook.Worksheets
x = 3
If ws.Name <> "Pop" Then
For i = 3 To LastRow
If Inarr(i, 1) = Ws.Name Then
Worksheets("pop").Range(i, 1).EntireRow.Copy
ws.Cells(x, 1).PasteSpecial xlPasteValues
x = x + 1
End If
Next i
Next ws
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub